汇编语言编程 模块之间的调用.doc

上传人:hw****26 文档编号:3114800 上传时间:2019-05-21 格式:DOC 页数:22 大小:388.50KB
下载 相关 举报
汇编语言编程 模块之间的调用.doc_第1页
第1页 / 共22页
汇编语言编程 模块之间的调用.doc_第2页
第2页 / 共22页
汇编语言编程 模块之间的调用.doc_第3页
第3页 / 共22页
汇编语言编程 模块之间的调用.doc_第4页
第4页 / 共22页
汇编语言编程 模块之间的调用.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、 中北大学课程设计说明书2011/2012 学年第 二 学期学 院: 信息与商务学院 专 业: 自动化 学 生 姓 名: 陈瑾 学 号: 09050541X09 课程设计题目: 非数值处理程序设计 起 迄 日 期: 6 月 18 日 6 月 22 日 课程设计地点: 指 导 教 师: 兰艳亭 系 主 任: 下达任务书日期: 2012 年 6 月 15 日课 程 设 计 说 明 书1设计目的:(1)培养学生理论联系实际的设计思想,提高学生综合运用汇编语言课程的理论知识分析问题、解决问题的能力。(2)通过查找、运用设计资料,完成工程设计所必备的基本训练。(3)使同学们更深入的了解计算机系统内部的有

2、关知识,为以后的学习和系统开发奠定良好的基础。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):一、内容编程实现大小写字母之间、二进制数和十六进制数之间以及十六进制数向十进制数的转换。程序应由个模块组成,程序采用远过程调用的方法实现。二、要求(1)根据要求确定解决问题的编程方法。(2)画出程序框图、设计源程序。(3)在计算机上汇编、连接所设计的程序。(4)按要求调试程序,记录程序运行结果。(5)写出设计总结报告。3设计工作任务及工作量的要求包括课程设计计算说明书(论文) 、图纸、实物样品等:流程图:源程序:模块一:主程序F1 EQU 3bhF2 EQU 3ChF3 EQU 3DhF

3、4 EQU 3EhF5 EQU 3FhESC1 EQU 11hextrn LTOH:far,HTOL:far,HEXTOBIN:far,BINTOHEX:far,HEXTODEC:FAR,DECTOHEX:FAR;change2:far,change3:far,change4:far,change5:far stack segment para public stack db 200 dup (0) stack ends data segment ;*主程序中的提示信息* str1 DB 0AH,0DH, *$ str2 DB 0AH,0DH, * Author: 09050541X09 CH

4、ENJIN *$ str3 DB 0AH,0DH, * press 1: letter convertion (low to high) *$ str4 DB 0AH,0DH, * press 2: letter convertion (high to low) *$ str5 DB 0AH,0DH, * press 3: SHUZHI convertion ( 16 TO 2 ) *$ str6 db 0AH,0DH, * press 4: SHUZHI convertion ( 2 TO 16 ) *$ str7 db 0AH,0DH, * press 5: SHUZHI converti

5、on ( 16 TO 10 ) *$ str8 DB 0AH,0DH, * press 6: SHUZHI convertion ( 10 TO 16 ) *$ str9 DB 0AH,0DH, * press : exit *$ str10 DB 0AH,0DH, *$ str11 db 0ah,0dh,input error,please repess!,$ str_rn db 0ah,0dh,0ah,0dh,$key_scan db ?data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov

6、 ds,ax disp macro m lea dx,m mov ah,9 int 21h endm lop: disp str1 disp str2disp str3 disp str4 disp str5 disp str6 disp str7 disp str8 disp str9 disp str10 disp str_rn mov ah,7hint 21hcmp al,1jz call_LTOHcmp al,2jz call_HTOLcmp al,3jz call_HEXTOBINcmp al,4jz call_BINTOHEXcmp al,5jz call_HEXTODECcmp

7、al,6jz call_DECTOHEXcmp al,jz exitJMP LOP call_LTOH:mov dl,almov ah,2int 21hCALL LTOHJMP LOPcall_HTOL:mov dl,almov ah,2int 21hCALL HTOLJMP LOPcall_HEXTOBIN:mov dl,almov ah,2int 21hCALL HEXTOBINJMP LOPcall_BINTOHEX:mov dl,almov ah,2int 21hCALL BINTOHEXJMP LOPcall_HEXTODEC:mov dl,almov ah,2int 21hCALL

8、 HEXTODECJMP LOPcall_DECTOHEX:mov dl,almov ah,2int 21hCALL DECTOHEXJMP LOPexit: mov ah,4ch int 21h code ends end start模块二:小写字母转换成大写字母;letter convertion: LOW TO HIGHpublic LTOHdata segment info0 db 0ah,0dh,letter convertion: low to high press exit$ info1 db 0ah,0dh,please input string:$ info2 db 0ah,

9、0dh,output string:$str_rn db 0ah,0dh,$ buf db 80 dup (?) LEN DW 0KEY DB 0data ends stack segment stack db 200 dup (?) stack ends code segment assume ds:data,cs:code,ss:stack disp macro m lea dx,m mov ah,9 int 21h endm LTOH proc farPUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIPUSH SSPUSH DSmov ax,data m

10、ov ds,ax lea dx,info0 mov ah,9 int 21h lea dx,info1 mov ah,9 int 21h MOV DI,0MOV LEN,0MOV BUFDI,$LOP:mov ah,7int 21h MOV KEY,ALCMP AL,aJB CMP_OTHERCMP AL,zJA CMP_OTHERMOV AH,2 MOV DL,ALINT 21HSUB AL,20HMOV BUFDI,ALMOV BUFDI+1,$INC DI CMP DI,20HJZ DISPLAYJMP LOP CMP_OTHER:CMP KEY,0DHJZ DISPLAYCMP KEY

11、,JZ EXITJMP LOPDISPLAY:lea dx,info2mov ah,9 int 21h lea dx,BUFmov ah,9 int 21h lea dx,str_rn mov ah,9 int 21h lea dx,info0 mov ah,9 int 21h lea dx,info1 mov ah,9 int 21h MOV DI,0MOV LEN,0MOV BUFDI,$JMP LOPEXIT:POP DSPOP SSPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETLTOH endcode ends end 模块三:大写字母转换成小写字母le

12、tter convertion: HIGH TO LOWpublic HTOLdata segment info0 db 0ah,0dh,letter convertion: high to low press exit$ info1 db 0ah,0dh,please input string:$ info2 db 0ah,0dh,output string:$ str_rn db 0ah,0dh,$buf db 80 dup (?) LEN DW 0KEY DB 0data ends stack segment stack db 200 dup (?) stack ends code se

13、gment assume ds:data,cs:code,ss:stack disp macro m lea dx,m mov ah,9 int 21h endm HTOL proc farPUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIPUSH SSPUSH DSmov ax,data mov ds,ax lea dx,info0 mov ah,9 int 21h lea dx,info1 mov ah,9 int 21h MOV DI,0MOV LEN,0MOV BUFDI,$LOP:mov ah,7int 21hMOV KEY,ALCMP AL,AJB

14、 CMP_OTHERCMP AL,ZJA CMP_OTHERMOV AH,2 MOV DL,ALINT 21Hadd AL,20HMOV BUFDI,ALMOV BUFDI+1,$INC DI CMP DI,20HJZ DISPLAYJMP LOP CMP_OTHER:CMP KEY,0DHJZ DISPLAYCMP KEY,JZ EXITJMP LOPDISPLAY:lea dx,info2mov ah,9 int 21h lea dx,BUFmov ah,9 int 21h lea dx,str_rn mov ah,9 int 21h lea dx,info0 mov ah,9 int 2

15、1h lea dx,info1 mov ah,9 int 21h MOV DI,0MOV LEN,0MOV BUFDI,$JMP LOPEXIT:POP DSPOP SSPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETHTOL endpcode ends end 模块四:十六进制转换成二进制;SHUZHI convertion: 16 TO 2public HEXTOBINdata segment info0 db 0ah,0dh,SHUZHI convertion: 16 TO 2 press exit$ info1 db 0ah,0dh,please inpu

16、t HEX data (for example:35db) :$ info2 db 0ah,0dh,the binary number is :$ str_rn db 0ah,0dh,$buf db 80 dup (?) data ends stack segment stack db 200 dup (?) stack ends code segment assume ds:data,cs:code,ss:stack disp macro m lea dx,m mov ah,9 int 21h endm HEXTOBIN proc far PUSH AXPUSH BXPUSH CXPUSH

17、DXPUSH SIPUSH DIPUSH SSPUSH DSmov ax,data mov ds,ax lea dx,info0 mov ah,9 int 21h lea dx,info1 mov ah,9 int 21h mov bx,0mov cL,4MOV CH,4LOP:mov ah,7int 21h cmp al,0jb cmp_othercmp al,9jbe digitcmp al,Ajb cmp_othercmp al,Fjbe LETTER1cmp al,ajb cmp_othercmp al,fjbe LETTER2jmp cmp_otherletter1:MOV AH,2 MOV DL,ALINT 21Hsub al,55SHL BX,CLADD BL,ALDEC CHJZ DISPLAYJMP LOP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。