码迷,mamicode.com
首页 > 其他好文 > 详细

汇编指令汇集及注意事项001(未完)

时间:2019-05-25 21:27:06      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:字母   跳出循环   内存   oop   汇编   size   指令   bsp   style   

汇编语言指令汇集及注意事项:
G:可以利用命令G+地址(下一条指令地址)跳到循环下一条指令的位置,

P:可以跳出循环。可以用命令u查看程序在内存存放的地址。也可以用p命令跳出循环,执行下一条指令。

d:命令可以查看内存情况,也可以d 1512:0000查看指定地址的内存情况;也可以(d 1512:0000 4)查看从1512:0000地址开始的连续4个内存单元的存储情况;

r:命令可以查看各个寄存器的情况
u:查看源程序;将寄存器中的机器指令翻译成汇编指令
e:在指定的内存地址中存放数据;如:e 2000:1000 23 42;将数据存放在2000:1000、2000:1001内存单元中
a:写入汇编指令
-------------
寄存器:
ax,bx,cx,dx代表通用寄存器
ds:代表数据的段地址,[0]代表数据段地址的偏移地址,[1],[2]......
cs:代表代码的段地址,
ip:代表代码的偏移地址
ss:代表栈的段地址
sp: 代表栈的偏移地址
-----------
指令:
mov ax,1;将数据1移动到寄存器中
add ax,2;寄存器ax中的数据与2相加,并将结果放入到寄存器ax中。
--
mov cx,3
s: add ax,ax
loop s
loop:循环指令
push:将数据压入栈顶;push ax;将寄存器中ax中数据送入到栈顶
pop:将数据从栈顶中取出;pop ax;将栈顶的数据从栈顶中取出,放入ax中
---------------
mov ax,2000h
mov ds,ax
设置程序中数据的段地址,不能直接使用mov ds,2000h,只能先将段地址存放到寄存器ax中,然后由寄存器ax送入到数据段地址寄存器ds中。
-----
mov ax,2000h
mov ds,ax
mov bx,6
mov al,[bx]
这里[bx]是代表偏移地址[6],不能直接在程序中使用mov al,[6],这样写的结果就是将6放入到寄存器al中,而不是将2000:0006h中内存单元中的数据放入到ax;
---------
一般程序 mov ax,2;2代表的是十进制的数;
如果要一个数值代表十六进制,就需要2h;
---------
程序中不能十六进制数不能以字母开头,比如
mov ax,ffffh,程序会报错,一定要在前面加数字,比如mov ax,0ffffh;这样就不会报错

 

汇编指令汇集及注意事项001(未完)

标签:字母   跳出循环   内存   oop   汇编   size   指令   bsp   style   

原文地址:https://www.cnblogs.com/lazyli/p/10923917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!