首页 > 代码库 > 汇编小实验1
汇编小实验1
进入DEBUG后,首先用命令R查看当前DS内容,记录此值,假设为X。在DEBUG下汇编、调试完成下列功能的程序。
1):将内容F000:2000H起30H个字数据传送到内存X:1000H开始处
这里是把一个单元的数据复制到另外的单元,而且是连续的数据,所以肯定要用到循环,由于这两个DS内容的不同,所以再进行复制的时候,要对ds进行复制操作,具体的看如下的代码。
1 MOV CX,30 2 MOV SI,2000 3 MOV DI,1000 4 AGAIN:MOV BX,F000 5 MOV DS,BX 6 MOV AX,[SI] 7 MOV BX,073F 8 MOV DS,BX 9 MOV [DI],AX10 INC DI11 INC SI12 LOOP AGAIN13 INT 3
2)测试内存X:300H开始的10H个字节数据,计算其中正数、负数、0的个数,并将结果分别存放在X:400H开始的三个内存单元中
这里是统计连续单元里面的整数,负数,0的个数。可以直接用cmp,0 进行比较,如果 ==0 则跳转 JE,如果大于0 则跳转 JG,如果小于0,则跳转 JL。同时也需要loop
我用si,di,dx来分别统计0,正数,负数的个数。具体看代码。
1 MOV CX,10 2 MOV BX,300 3 MOV AX,[BX] 4 X :INC BX 5 CMP AX,0 6 JE X1 7 JG X2 8 JL X3 9 X1:INC SI10 JMP X411 X2:INC DI12 JMP X413 X3:INC DX14 JMP X415 X4:LOOP X16 MOV BX,40017 MOV [BX],SI18 INC BX19 MOV [BX],DI20 INC BX21 MOV [BX],DX22 INT 323
汇编小实验1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。