汇编随笔2

源程序框架

assume cs:codesg,ds:data,ss:stack

data segment

data ends

 

stack segment

stack ends

 

code segment

start:

 

mov ax,4c00H

int 21H

code ends

end start

源程序实现过程:edit编辑保存a1.asm->编译masm a1.asm;->连接link a1.obj;

查看:type a1.asm  

debug:debug a1.exe

 

[bx]表示一个内存单元,它的偏移地址在bx中;si,di功能相近;在【…】中使用bp,指令中没有显性地给出段地址,默认在ss中

inc bx ;bx 中的内容加一

/ *movax,2

   mov cx,11

   s: add ax,ax

   loop s*/

s为标号,标志一个地址

CPU在执行loop s时,要执行两步操作①cx=cx-1②判断cx,若为零执行下一条指令,不为零则转至标号s处执行

 段前缀:用于显式地指明内存单元的段地址;ds: cs: ss: es:

offset:取得标号的偏移地址

 

db:字节型

dw:字型

dd:双字型

dup:用于数据的重复;db 3 dup(0,1,2)=db 0,1,2,0,1,2,0,1,2.

 

and指令:逻辑与指令,按位进行与运算

or指令:逻辑或指令,按位进行或运算

 

div8(16)

被除数->(dx:)ax

除数->reg8/mem8(16)

商:al(ax)

余:ah(dx)

ret:pop ip

retf:pop ip, pop cs

标志寄存器:

ZF:结果为0,ZF=1,结果不为0,ZF=0

PF:结果的所有bit位1的个数为偶pf=1,为奇pf=0

SF:结果为负sf=1,非负sf=0

CF:进行无符号运算时,记录运算结果的最高有效位向更高位的进位或者借位----------adc:adc ax,bx:(ax)=(ax)+(bx)+cf

OF:发生溢出of=1,没有溢出of=0

转载于:https://www.cnblogs.com/bbbbz/p/8125510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值