汇编做题随笔记录1

本文详细解析了8086汇编语言中的关键指令,包括乘法(MUL、IMUL)、除法、逻辑操作(NOT)、串操作(REPMOVSB等)及标志位的影响,并介绍了变址寄存器SI和DI的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何检测两个字节数相乘是字还是字节?

       对于mul指令而言,如果AH为0,则CF,OF均为0,否则均为1.

       对于IMUL指令而言,如过乘积的高一半是低一半的符号扩展,则CF,OF均为1,否则全为1.

除法指令对所有条件码均无定义


逻辑指令中,只有NOT不影响标志位


AL=0AH,下列指令执行后能使AL=05H的是   选项A)NOT AL是错误的。


串传输,如:

LEA SI,MESS1

LEA DI,MESS2

MOV CX,17

CLD

REP MOVSB


不同的串操作指令,对标志位的影响不同。传送类的串指令,不影响标志位。此类指令有:MOVS,LODS, STOS, INS

, OUTS。

比较类的串指令,会按比较结果设置标志位。与减法运算指令一样,会影响ZF, CF, ZF,OF, SF, AF, PF等标志位。此类指令有:CMPS,SCAS。



STOS(STOSB STOSW STOSD)把AX中的内容移动到目的变址寄存器所指向的附加段的某某单元中。


比较不带符号数,JB/JC/JNAE  JNB/JAE/JNC   JBE/JNA    JA/JNBE. 

 比较带符号数,JL     JNL  JLE/JNG  JNLE/JG       

观察规律,出现L,G字母的都是带符号数的

两个变址寄存器:

SI:存储器指针,串指令中的源操作数指针。

DI:存储器指针,串指令中的目的操作数指针。


PSW寄存器中共有6个条件状态位,3个控制状态位。


低八位向高八位进位时,CF=1.

OF = 1。????????????


相联存储器,请百度。


设物理地址(21000H)=30H,(21001H)=40H,(21002H)=50H。如从地址21001H中取出一个字的内容是5040H


SP始终是指向栈顶的。。BP的指向其实没有什么要求,只是说明,如果不指明段地址的情况下,默认的段地址是SS,这说明了SP/BP这两个寄存器都跟栈有关,一个指向栈顶,一个指向栈中的数据。。这样,对于栈来讲,栈顶的位置(SP)是不能轻易改变的,所以,如果我们要用到栈中的数据,就要是用BP了。。你比如:

mov ax,stack

mov ss,ax

mov sp,10h

mov bp,sp 

 //目前栈顶的值给了BP我们就可以通过改变BP的值来指向栈中的数据了。。



转载于:https://my.oschina.net/qkmc/blog/654860

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值