汇编实验3

1.运行如下代码:

assume cs:code
code segment
 mov ah,2
 mov dl,3
 add dl,30h
 int 21h
 
 mov ah,2
 mov dl,6
 add dl,30h
 int 21h
 
 mov ah,4ch
 int 21h
code ends
end
 进行汇编运行之后结果为:

 

将第四行和第九行的寄存器dl的值修改之后代码如下:

assume cs:code
code segment
 mov ah,2
 mov dl,4
 add dl,30h
 int 21h
 
 mov ah,2
 mov dl,9
 add dl,30h
 int 21h
 
 mov ah,4ch
 int 21h
code ends
end

结果就是上图的36变成了49

接着用命令进行反汇编,如下:

从而看出cx=0016h,cs=0770h,ds=0760h,cs与ds满足关系:(cs)=(ds)+10h。

用t,p命令进行单步调试:

 

 

 2,运行如下代码:

assume cs:code
code segment
 mov ax,0b800h
 mov ds,ax
 
 mov bx,0
 mov ax,0433h
 mov[bx],ax
 
 add bx,2
 mov ax,0436h
 mov[bx],ax
 
 mov ax,4c00h
 int 21h
code ends
end

进行汇编运行:

 

 将以上代码的第七行的0433h改为0333h,第十行的436h改为0336h之后如下:

assume cs:code
code segment
 mov ax,0b800h
 mov ds,ax
 
 mov bx,0
 mov ax,0333h
 mov[bx],ax
 
 add bx,2
 mov ax,0336h
 mov[bx],ax
 
 mov ax,4c00h
 int 21h
code ends
end

结果上图的红色36变成了蓝色的36.

 

3.体会

今天的实验使用了masm for windows集成环境,开始不太会用,但是慢慢的还是是熟悉了

在用t命令单步执行的时候,遇到int 21的时候,要使用p命令。

 

转载于:https://www.cnblogs.com/ljw376386/p/9954469.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值