汇编实例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编实例

例1:要求将两个5字节16进制数相加。 程序如下: DATA SEGMENT DATA1 DB 0F8H , 60H , 0ACH , 74H , 3BH DATA2 DB 0C1H , 36H , 9EH , 0D5H , 20H DATA ENDS CODE SEGMENT ASSUME CS : CODE , DS : DATA START : MOV AX , DATA MOV DS , AX MOV CX , 5 MOV SI , 0 CLC LOOPER : MOV AL , DATA2[SI] ADC DATA1[SI] , AL INC SI DEC CX JNZ LOOPER CODE ENDS END START 例2:试编制一个程序把BX寄存器内的二进制数用十六进制数形式在屏幕上显示出来。 CODE SEGMENT ASSUME CS:CODE START: PUSH DS SUB AX,AX PUSH AX MOV BX,12ABH MOV CH,4 ROTATE: MOV CL,4 ROL BX,CL MOV AL,BL AND AL,OFH ADD AL,30H CMP AL,3AH JL PRINTIT ADD AL,7H PRINTIT: MOV DL,AL MOV AH,2 INT 21H DEC CH JNZ ROTATE RET CODE ENDS END START 例3:在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中。 DATA SEGMENT ADDR DW NUMBER NUMBER DW Y COUNT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV CX,0 MOV BX,ADDR MOV AX,[BX] REPEAT: TEST AX,0FFFFH JZ EXIT JNS SHIFT INC CX SHIFT: SHL AX,1 JMP REPEAT EXIT: MOV COUNT,CX RET CODE ENDS END START 例4:将正数N插入一个已整序的字数组的正确位置。该数组的首地址和末地址分别为ARRAY_HEAD和ARRAY_END,其中所有数均为正数且已按递增的次序排列。 DATA SEGMENT ARRAY_HEAD DW 3,5,15,23,37,49,52,65,78,99 ARRAY_END DW 105 N DW 32 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX,N MOV ARRAY_HEAD-2,0FFFFH MOV SI,0 COMPARE: CMP ARRAY_END[SI],AX JLE INSERT MOV BX,ARRAY_END[SI] MOV ARRAY_END[SI+2],BX SUB SI,2 JMP SHORT COMPARE INSERT: MOV ARRAY_END[SI+2],AX RET CODE ENDS END START 例5:(逻辑尺示例)设有数组X和Y。X数组中有X1,…X10;Y数组中有Y1,…Y10;试编制程序计算Z1=X1+Y1 Z2=X2+Y2 Z3=X3-Y3 Z4=X4-Y4 Z5=X5-Y5 Z6=X6+Y6 Z7=X7-Y7 Z8=X8-Y8 Z9=X9+Y9 Z10=X10+Y10。 DATA SEGMENT X DW X1,X2,X3,X4,X5,X6,X7,X8,X9,X10 Y DW Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y19 Z DW Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z19 LOGIC_RULE DW 00DCH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS SUB

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档