首页 > 代码库 > 汇编小实验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
View Code

2)测试内存X300H开始的10H个字节数据,计算其中正数、负数、0的个数,并将结果分别存放在X400H开始的三个内存单元中

这里是统计连续单元里面的整数,负数,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      
View Code

汇编小实验1