汇编言语指令中的地址和指令中的地址码的区别 (汇编言语指令实验报告)
本文目录导航:
汇编言语指令中的地址和指令中的地址码的区别
一、单字节指令,只要操作码,没有地址码,或许说,地址码是含在操作码之中。如,
1、CLD、STI等对形态寄存器操作的指令,地址就是形态寄存器,是隐含的。
2、LODSB、LODSW、LODSD等字符串操作指令,指令中没有地址码,其操作数地址隐含在DS:SI、AL、AX、EAX中;而STOSB、STOSW、STOSD等字符串操作指令,操作数地址隐含在ES:DI、AL、AX、EAX中;而数据块传送指令REPMOVS,操作数地址隐含在DS:SIES:DI中。
二、多字节指令,操作码与地址码是组合在一同的。
若有立刻数,立刻数间接写在指令码之后。
雷同的操作,其指令码与寻址模式无关。
凡触及寄存器的,每个寄存器都有其固定的地址码。
参见下图:
雷同的数据传送指令MOV,不同的操作数有不同的地址码。如,
MOVAX,6789
指令代码是:B8。而,
MOVBX,6789
其指令代码却是:BB。
B8与BB的区别就在于源操作数AX、BX的不同。
至于操作码与地址码是怎么定义的,它们又是以怎么的法令组合的,只要指令系统设计者知道了。
到目前为止,我尚未见过这方面的资料。
因为常识的局限性,我也只能引见这些了。
批解决的字符串操作指令
@echo off setlocal enabledelayedexpansionset str=abcde :l if !str!== goto end a=!str:~0,1!echo 本次a的值为!a!set str=!str:~1!goto l:end pause 未调试,你看行不行
汇编言语的rep是什么
rep是字符串操作指令MOVS,CMPS等的前缀,在CX不等于0的状况下,对字符串口头重复操作.