附:指令游戏 xlat指令
admin
2023-10-22 21:23:07

0x00 机器指令

附:指令游戏 xlat指令

机器指令是计算机CPU执行某种操作的命令编码。指令系统是指某一类型CPU中所有机器指令的集合。8086/8088CPU的指令系统共包含92种基本指令,按照功能可将它们分为6大类:数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、处理器控制指令。

机器指令是由1,0组成的特定的二进制数序列。

机器指令格式为:操作码字段、地址码字段。其中,操作码字段表示执行操作类型,地址码字段表示操作数的地址或操作数本身。一般的操作数有被操作数,操作数及操作结果三种类型。

指令助记符

为了便于书写和阅读,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。

指令系统符号说明:

AH、AL、BH、BL、CH、CL、DH、DL:八位通用寄存器;

AX、BX、CX、DX、SP、BP、DI、SI:十六位通用寄存器;

SP:堆栈指针;

IP:指令指针;

FLAGS:标志寄存器;

DI、SI:目的和源变址寄存器;

CS、DS、SS、ES:段寄存器;

SEG:段寄存器通用符号;

REG:通用寄存器组;

AC:AX或AL/AH(取决于操作数长度);

SRC:源操作数;

DST:目的操作数;

MEM:存储器操作数;

MEM/REG:存储器或通用寄存器操作数;

DATA:立即数,8位或16位;

OPRD:操作数;

n:8位立即数;

nn:16位立即数;

nnnn: 32位立即数;

数据传送类指令

数据传送类指令分为四种:通用数据传送、累加器专用数据传送、地址传送和标志传送。

通用数据传送指令

通用数据传送指令包括最基本的传送指令MOV,堆栈操作指令PUSH和POP,数据交换指令XCHG和查表指令XLAT。

1.基本的传送指令MOV。指令一般形式为:MOV DST,SRC;

指令功能:(字节或字);指令执行后,源操作数不变,目标操作数发生变化且与源操作数相同。例如:指令 MOV AL,BL;若该指令执行前,AL=25H,BL=86H,则指令执行后,AL=BL=86H。

2.堆栈操作指令。在8086/8088系统中,无论压入或弹出操作,都是以字为单位。

(1)入栈指令:指令格式:PUSH OPRD;指令功能:先修改SP-2→SP,然后把一个源操作数(1个字)传送到由SP所指向的堆栈的顶部。

(2)出栈指令:指令格式:POP OPRD;指令功能:是先将栈顶的一个字弹出送往目的操作数,再修改SP+2→SP。

3.交换指令。指令格式:XCHG OPRD1,OPRD2;指令功能:把二个字节或字的操作数相互交换。这二个操作数不能是立即数,也不能同时为存储器操作数。

4.查表指令。指令格式:XLAT SRC_Table;字节查表转换指令,根据表中元素的序号查出对应元素的内容,序号从0,1,2……。

(1)将表的首地址存入BX寄存器;

(2)要查找元素序号存入AL,执行XLAT指令后,将指定序号对应的元素内容存入AL。

I/O数据传送指令

I/O(输入/输出)指令完成累加器AL(AX)与I/O端口间的数据传送功能。此类指令中,一个操作数为AX(16位)或AL(8位),另一个是I/O端口。I/O端口的地址范围总共64K,0000H-FFFFH。

I/O端口地址的表示方式:

(1)直接方式:若端口地址≤FFH,端口地址用立即数直接给出;

(2)间接方式:若端口地址>FFH,需要将I/O端口地址存入DX中。用DX可寻址100H-0FFFFH的端口。

1、端口输入指令IN

指令一般格式:IN AC,PORT

指令功能:把1个字节或1个字,由输入端口传送给AL或AX。又分以下几种形式:

(1)直接方式:地址≤FFH

IN AL,n

IN AX,n (n为端口地址)

(2)间接方式:地址>FFH

IN AL,DX

IN AX,DX

2、端口输出指令OUT

指令一般格式:OUT PORT,AC

指令功能:把AL(AX)中的1个字节(字),传送到某个输出端口。

(1)直接方式:

OUT n,AL

OUT n,AX (n为端口地址)

(2)间接方式:

OUT DX,AL

OUT DX,AX

地址传送指令

地址传送指令有3条:

①取有效地址指令LEA。指令一般格式:LEA REG,MEM;指令功能:将源操作数的段内偏移地址传送给目的操作数。

②地址指针装入DS指令LDS。指令一般格式: LDS REG,MEM;指令功能:源操作数必须是内存操作数,把源操作数(内存中的双字数据:32位逻辑地址)的高字部分(段基址)传送给DS,低字部分(段内偏移地址)送指令规定的寄存器。

③地址指针装入ES指令LES。指令一般格式:LES REG,MEM;指令功能:把源操作数(内存中的双字数据)的高位字传送给ES(16位段基址),低位字传送给指令规定的16位寄存器中。

标志传送指令

8086/8088有四条标志传送指令。

1.标志装入AH指令。指令格式:LAHF;指令功能:把标志寄存器的第8传送给AH。这样,相应的符号标志SF、零标志ZF、辅助进位标志AF、奇偶标志PF和进位标志CF被传送至AH的对应位。

2、设置标志指令。指令格式:SAHF;此指令功能与LAHF相反,是把AH内容传给标志寄存器FLAGS的低8位,高8位不受影响。

3、标志压入堆栈指令。指令格式:PUSHF;PUSHF指令先修改堆栈指针,即SP-2→SP,把整个标志寄存器内容压入堆栈。指令本身的执行不影响标志位。

4、标志弹出堆栈指令。指令格式:POPF;这条指令把当前堆栈指针所指的一个字,传送给标志寄存器,同时修改堆栈指针,即SP+2→SP。

算术运算指令

8086/8088提供加、减、乘、除四种基本的算术操作。操作数可是带符号数的字或字节,也可是不带符号数的字或字节。若是带符号数,则用补码表示。8086/8088还提供了各种校正操作指令,可以进行BCD码或ASCⅡ码表示的十进制数的算术运算。

二进制加减法指令

(1)不带进位的加减法指令ADD和SUB。指令用于无符号或带符号数的字节或字的加减运算。指令格式及功能:

ADD 目标,源;目标+源→目标

SUB 目标, 源;目标-源→目标

(2)带进(借)位的加减法指令ADC及SBB。此类指令通常用来实现多字节、多字的加/减运算。除了在加法运算时须在最低位加上进位位CF值,或在减法运算时在最低位减去借位CF值外,其它与ADD,SUB指令相同。指令格式及功能:

ADC 目标, 源;目标+源+CF→ 目标

SBB 目标, 源;目标-源-CF→目标

(3) 加法和减法的ASCII码调整指令。对于加法调整,若为非压缩BCD码,使用指令AAA;若为压缩BCD码,使用指令DAA。对于减法调整,若为非压缩BCD码,使用指令AAS;若为压缩BCD码,使用指令DAS。

(4)加1/减1指令INC/DEC。指令格式及功能:

INC 目标 ;目标+1→目标

DEC 目标;目标-1→目标

指令字节较短,运行速度快,主要用于在循环程序中修改地址指针或循环次数。INC及DEC指令运算结果不影响CF标志,对其他标志位的影响与加减法指令ADD、SUB相同。

(5)求补及比较指令NEG、CMP。求补NEG及比较CMP指令都属于特殊的二进制减法运算。

指令格式及功能:NEG 目标 ;0-目标→目标

CMP 目标,源;目标-源→状态标志

二进制乘除法指令

(1)无符号数乘法指令:指令格式及功能:MUL SRC ;

(2)带符号数乘法指令:指令格式及功能:IMUL SRC ;

(3) 无符号数除法指令:指令格式及功能:DIV SRC ;

(4)带符号数除法指令:指令格式及功能:IDIV SRC ;

(5)转换指令(符号扩展):CWB:将AL的符号位扩展到AH中;CWD:将AX的符号位扩展到DX中;

逻辑运算与移位类指令

为了处理字节或字中各位信息,8086/8088提供了三种位处理指令:逻辑运算指令、移位类指令和循环移位类指令。

逻辑运算指令包括逻辑与、逻辑或、逻辑非、逻辑异或和逻辑测试。所有的指令都对其操作数按每一位进行逻辑操作;操作数可以是字节或字。

①逻辑非指令NOT:逻辑非指令主要用来使某数变反。指令格式及功能:NOT 目标;目标→目标;逻辑非指令不影响状态标志。

②逻辑与指令AND:指令格式及功能:AND目标,源;目标∧源→目标和状态标志;指令对状态标志的影响:执行后将使CF、OF标志复位;按结果影响PF、ZF、SF标志;AF标志不定。

③逻辑或指令OR:指令格式及功能:OR目标,源;目标 ∨源→目标和状态标志;或指令对状态标志的影响与AND指令相似。或操作常用来使目标操作数某位置位。

④逻辑异或指令XOR:此类指令对状态标志的影响也与AND指令相似。XOR指令可使目标操作数某些位取反。指令格式:XOR目标,源。

⑤逻辑测试指令TEST:指令格式及功能:TEST目标,源;目标 ∧源→目标和状态标志。指令的功能是将两个操作数按位相与,但结果不送回目标,只影响状态标志,影响情况同AND指令。TEST指令常用来检测操作数的某位是1还是0。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...