微机原理及接口技术汇编语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及接口技术汇编语言程序设计

汇编语言的编译过程 1)用文本编辑器编写符合汇编格式的程序,并将文件的扩展名命名为.ASM,该文件称为汇编源程序。 2)利用汇编程序(MASM.EXE)将汇编源程序翻译成计算机可以识别和运行的扩展名为.OBJ二进制目标程序。 3)利用链接程序(LINK.EXE)将目标文件进行地址重定位、目标程序组合等过程,产生用户可以执行的扩展名为.EXE的可运行程序。 定位伪指令ORG 指定数据段或者代码段的偏移地址。 DATA SEGMENT ORG 0200H BUF DB 10 DUP (?) ;变量BUF的在数据段的偏移地址 DATA ENDS ;是0200H,省略为0000H CODE SEGMENT ASSUME CS:DCODE,DS,DATA ORG 1000H ;首条指令在代码段的偏移地址 MOV AX,DATA ;是1000H,省略为0100H MOV DS,AX …… CODE ENDS END SUB AL,30H ;是0~9之间的字符,则转换为二进制数 SHL BX,1 MOV DX,BX SHL BX,1 SHL BX,1 ADD BX,DX ;利用移位指令,实现数值乘10 MOV AH,0 ADD BX,AX ;与新输入数值相加 JMP READ1 ;继续输入字符 READ3:CMP CX,0 JZ READ4 NEG BX ;是负数,进行求补 READ4:MOV AX,BX ;设置出口参数 POP DX POP CX POP BX ;恢复寄存器 RET ;子程序返回 READ ENDP 编写主程序,调用READ子程序输入5个数据,找到最大的一个将其存放在字变量MAXNUM中。 STACK SEGMENT STACK STACK STAK DW 256 DUP(?) ;堆栈段大小是256个字 STACK ENDS DATA SEGMENT ARRAY DW 5 DUP(?) ;预留5个数据存储空间 MAXNUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK ;绑定各个段与段寄存器 MAIN PROC START:MOV AX,DATA MOV DS,AX MOV CX,5 ;调用子程序的循环次数 MOV BX,OFFSET ARRAY AGAIN:CALL READ ;调用子程序输入数据 MOV [BX],AX ;出口参数送缓冲区 ADD BX,2 ;BX指向缓冲区下一个字单元 LOOP AGAIN MOV BX,OFFSET ARRAY ;取缓冲区的偏移量送BX MOV CX,04 ;比较的次数送CX MOV AX,[BX] ;取第一个数 LABLE:INC BX INC BX ;BX指向缓冲区下一个字单元 CMP AX,[BX] ;比较AL和第N+1个数 JNL NEXT ;不小于则转入NEXT MOV AX,[BX] ;否则将大数送AX NEXT:LOOP LABLE ;继续下一次比较 MOV MAXNUM,AX ;最大数送MAXNUM字单元 MOV AH,4CH INT 21H MAIN ENDP READ PROC

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档