dos模拟器操作及记录

软件的基本操作:
mount c d:\masm
C:
dir
启动:debug  退出:q
    20位       寄存器16位
1、物理地址 = 段地址*16 +  偏移地址
2、AL =AL +BL  如果溢出不可进位
3、寄存器16位,寻址范围为64KB,所以偏移地址寻址范围最大为64KB
4、段寄存器
    CS----代码段    DS---数据段      SS---栈段     ES附加段
    
5、Debug是什么:
    (1)Debug是DOS系统中的著名的调试程序,也可以运行在windows系统实模式下
    (2)使用Debug程序,可以查看CPU各种寄存器中的内容、内存的情况,并且在机器指令集跟踪程序的运行
    
6、Debug能做什么
    (1)用R命令查看、改变CPU寄存器的内容  r      r ax +回车
    (2)用D命令查看内存中的值  d     d 2000:0000      d 2000:0  f     d 2000:0 2f
    (3)用E命令改变内存中的值  e 2000:0000  11 22 33
    (4)用U命令将内存中的机器指令翻译成汇编指令  u 2000:0
    (5)用A命令以汇编指令的格式在内存中写入机器指令 CS:IP    a 073f:0100 +回车+汇编程序 mov ax,bx
    (6)用T命令执行机器指令  t 执行CS:IP指向的汇编程序  rip
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_41962968/article/details/127311323

7、 masm p4.asm

8、link p4
9、p4

10、 debug p4.exe //可以观察指令的执行


11、
s: add ax,ax
   loop s //偏移地址
   
12、cx 一般用作存放循环次数

13、mov ax,[bx +idata]==>mov ax,[bx+200]//段寄存器是DS ,bx又称为基址寄存器  mov ax,200[bx]//mov ax,[bx].200
14、DI和SI相当于BX 是目的、源变址寄存器 mov ax,[bx +si]//mov ax,[bx]+[si]
15、mov ax,[bp]//基址寄存器相当于bx
16、bx默认是ds段,bp默认是ss段
17、jump cs:ip
18、and ax,00000001     or ax,00000001
19、mov word/byte ptr ds:[0] 1
20、div 10H  //8位:被除数 ax 余数 AH 商AL  16位:DX*10000H +AX   余数DX 商AX
21、dup  db 0 0 0 == dup 3 (0)
22、jmp 0A 会跳转到ip为0A的地方执行程序,但是我现在的ip是 03,机器码是EB05,因为下条指令是05,再加上偏移的05刚好是0A
23、jmp s /  jmp ax 
24、jmp short cs:[0]  段内短转移-128-127   jmp near ptr cs:[0]段内近转移 -32768- 32767     jmp far ptr cs:[0]
25、jmp word ptr [bx] 段内转移   jmp dword ptr [bx]  bx存放ip  bx+2存放cs 段间转移
26、jcxz s cx==0时跳转到标号s
27、call s  push +jump调用子函数 ret pop =-->ip函数返回
mov ax,0
call s
mov ax,4c00h
int 21h

s:add ax,1
  ret
  
25、mul bl    8位,被乘数在al ,结果在ax    16位,被乘数在 ax,结果在 dx(高位),ax(低位)

26、cmp ax,bx    #两个数比较,影响标志寄存器,然后根据条件转移指令跳转
	je s
	add ax,ax
   s:add ax,bx
   
27、 jmp/loop/call  + 标号
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值