版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、双操作数指令:双操作数指令:单操作数指令:单操作数指令:无操作数指令:无操作数指令: 寻址方式是指指令采取何种方式获取所需的操寻址方式是指指令采取何种方式获取所需的操作数。寻址方式的多少是恒量指令系统灵活与否的作数。寻址方式的多少是恒量指令系统灵活与否的重要标志。重要标志。MOV AX,1234H (机器码:B83412H)这条指令的功能是:把立即数1234H送入AX中。 操作码3412AHALROM代码段.AX1234MOV DS,AXD SA X对位操作数,寄存器可以为:对于 位操作数,寄存器可以为: 采用寄存器寻址方式的指令在执行时,操作就在CPU内部进行,不需要使用总线周期,执行速度快
2、。它是执行速度的一类寻址方式。 操 作 码1 02 0D S3 0 0 02 0 1 03 2 0 1 0代 码 段数 据 段A XA HA L8 08 68 68 03 2 0 1 0 H3 2 0 1 1 H.若 DS=3000H MOV AX, 2010H物理地址= DS162010H=3000H162010H=32010H指令功能是将32010H和32011H两单元的内容送到AX中。 要注意的是采用直接寻址方式时,如果指令前面没有用前缀指明操作数在哪一段,则段寄存器是数据段寄存器。 也可以通过前缀改变段寄存器。 以进行间接寻址,默认使用提供段地址。此时数据段寄存器DS内容加上SI、DI
3、、BX中的16位偏移量,获得操作数的地址 。MOV AX,SI 若DS=3000H SI=1000H操作码DS3 0 0 03 1 0 0 0代码段数据段AXAHAL7856567831000H31001H.1 0 0 0ROMSI.也可以通过前缀改变段寄存器。 寄存器间接寻址,默认的段寄存器为。此时堆栈段寄存器内容加上BP中的16位段内偏移地址,即得操作数的地址。MOV AX,BP 若SS=3000H BP=2000HSS3 0 0 02 0 0 03 2 0 0 0代 码 段堆 栈 段AXAHAL341212343200032001.BP.ROM.数 据 段物理地址=SS16BP=3000
4、0H2000H=32000H指令功能是将32000H和32001H两单元的内容送到AX中。 MOV AX,SI+300H 或或 MOV AX,300HSI 操 作 码DS3 0 0 03 1 3 0 0代 码 段数 据 段AXAHAL7856567831300H31301H.1 0 0 0ROMSI0 3 0 0DISP0003物理地址=DS16SIDISP=30000H1000H0300H=31300H指令功能是将31300H和31301H两单元的内容送到AX中。 操作码DS3 0 0 03 0 0 03 4 0 0 0代码段数据段AXAHAL7856567834000H34001H.1 0
5、 0 0ROMSIBX MOV AX,BX+SI 或或 MOV AX,BXSI物理地址=DS16SIBX=30000H1000H3000H=34000H指令功能是将34000H和34001H两单元的内容送到AX中。 MOV AX,BP+SI物理地址=SS16BPSI=30000H3000H1000H=34000H指令功能是将34000H和34001H两单元的内容送到AX中。 这种寻址实际上是基址加变址寻址的扩充。即操作数的地址是由基址加变址方式得到的地址再加上由指令指明的8位或16位的而得到的 。 在参与寻址时,默认使用堆栈段寄存器,否则默认使用数据段寄存器。操作码DS3 0 0 03 0 0
6、 03 4 3 0 0代码段堆栈段AXAHAL7856567834300H34301H.1 0 0 0ROMSIBX0 3 0 0DISP0003 MOV AX, BX+SI +300H 或 MOV AX,300HBXSI物理地址=DS16SIBXDISP=30000H1000H3000H0300H=34300H指令功能是将34300H和34301H两单元的内容送到AX中。 8086的指令为的指令为 字节,包括操作码域和操字节,包括操作码域和操作数域。作数域。 指令的第一或前两字节为操作码域,表示指令指令的第一或前两字节为操作码域,表示指令的操作码和寻址方式。的操作码和寻址方式。操作码域之后部
7、分为操作数域。一般包括以下形式。操作码域之后部分为操作数域。一般包括以下形式。q 2 2字节有效地址(偏移量)字节有效地址(偏移量)q 1 1或或2 2字节位移量字节位移量q 1 1或或2 2字节立即数字节立即数q 1 1或或2 2字节位移量后跟字节位移量后跟1 1或或2 2字节立即数字节立即数q 2 2字节偏移量和字节偏移量和2 2字节段地址字节段地址 指令执行时间取决于指令执行时间取决于CPU的时钟周期的长短和执的时钟周期的长短和执行指令所需的时钟周期数。指令执行时间一般由以下行指令所需的时钟周期数。指令执行时间一般由以下三部分组成:三部分组成: 由于由于8086内部总线接口部件和执行部件
8、是并行工内部总线接口部件和执行部件是并行工作的,在计算指令执行时间时假定指令已经预取到指作的,在计算指令执行时间时假定指令已经预取到指令队列中,没有考虑取指令时间。如果没能及时预取令队列中,没有考虑取指令时间。如果没能及时预取指令,指令执行时间需适当延长。指令,指令执行时间需适当延长。8086 CPU时钟为5MHz,计算各种ADD指令的执行时间。设时钟周期为 0.2s 寄存器寻址 基本执行时间:3个时钟 执行时间:3 * 0.2s = 0.6s 基址变址寻址(结果在寄存器中) 基本执行时间:9个时钟 计算有效地址时间:8个时钟 访问内存1次 操作数在偶地址:4个时钟 操作数在奇地址:4+4个时
9、钟 源操作数在偶地址执行时间:(9+8+4) * 0.2s = 4.2s 源操作数在奇地址执行时间:(9+8+4+4) * 0.2s = 5s 基址变址寻址(结果在内存中)ADD BP+SI,AX 基本执行时间:16个时钟 计算有效地址时间:8个时钟 访问内存2次 目标操作数在偶地址:4+4个时钟 目标操作数在奇地址:8+8个时钟 目标操作数在偶地址执行时间:(16+8+8) * 0.2s = 6.4s 目标操作数在奇地址执行时间:(16+8+16) * 0.2s = 8s 8086的指令系统包含133条指令,这些指令大致可分为6种类型: 8086有4类传送指令,实现CPU的内部寄存器之间、C
10、PU和存储器之间、CPU和I/O端口之间的数据传送。 通用传送指令中包括: 最基本的传送指令 交换指令 堆栈指令 和指令格式:执行功能:该指令可把源操作数复制到目标操作数中。OPRD1:可以是累加器、寄存器和存贮器。 OPRD2:可以是累加器、寄存器、存贮器以及立即数:MOV AL,BLMOV ES,DXMOV AX,BXMOV DI,CXMOV CX,1000HMOV BL,40MOV DX,5060HMOV WORD PTRSI,6070MOV BYTE PTRBX,55H 可以传送8位或16位操作数。 不能在两个存贮器单元之间进行数据直接传送。 MOV AL,1000H MOV 2000
11、H,AL 和不能作为目标操作数。 参与寻址默认使用段寄存器,否则默认使用。 不能将立即数直接传送到段寄存器。 MOV DS,5000H MOV AX,5000H MOV DS,AX 在执行给赋值的指令时,在本条指令和下一条指令执行期间自动禁止外部中断。MOV AX,5000HMOV SS,AXMOV SP,1000H 所有通用传送指令。段寄存器CS、DS、SS、ES存贮器立即数通用寄存器AX、BX、CX、DXBP、SP、SI、DI指令格式: 执行功能:交换指令把一个字节或一个字的源操作数与目的操作数相交换。 XCHG AL,CL ;累加器低8位和通用寄存器CL之间交换XCHG AX,DI ;累
12、加器AX和通用寄存器DI之间交换XCHG AX,2530 ;累加器AX和内存2530单元的字型数交换XCHG BX, SI ;通用寄存器BX和存储器SI和SI+1两个单元交换 目标操作数和源操作数不能均为内存单元。 和不能用于交换指令。 。SP-2 OPRDSPSPOPRD SP+22000H1FFFH1FFEH1FFDH1FFCHSP12345678堆栈段2000H1FFFH1FFEH1FFDH1FFCHSP12345678堆栈段. MOV AX,1234H MOV DX,5678H MOV SP,2000H PUSH AX PUSH DX POP DX POP AX 8086的堆栈操作是按
13、进行的。PUSH AL PUSH AX 内容可以入栈但不能弹出数据到。 堆栈内容按照后进先出的顺序传送,保护和恢复寄存器内容需按相反顺序进行。PUSH AXPUSH BXPUSH CXPOP CXPOP BXPOP AX交换AX,BX的内容PUSH AXPUSH BXPOP AXPOP BX8086有3条地址传送指令。指令格式: 执行功能:该指令把源操作数OPRD2(地址偏移量)传送至目的操作数OPRDl中。源操作数必须是一个内存单元地址,目标操作数必须是一个16位的通用寄存器。这条指令通常用于使一个寄存器作为地址指针。LEA AX, 2728相当于MOV AX, 2728 LEA BX, B
14、P+SI该指令完成一个地址指针的传送。地址指针包括段地址和地址偏移量。指令执行时,将段地址送入DS,地址偏移量送入一个16位的指针寄存器或变址寄存器。 LDS SI,BX是把存放于内存数据段中BX所指的32位地址指针的段地址送入DS,偏移地址送入SI。 这条指令除将地址指针的段地址送入ES外,其他操作与LDS的类似。 LES DI,BX+50是把存放于内存数据段中以BX+50的结果为有效地址的一个32位地址指针的段地址送入ES,偏移地址送入DI。 8086有3条标志传送指令。执行功能:将标志寄存器的低八位送入 。执行功能:将 送入标志寄存器的低八位。读取标志内容到AXPUSHFPOP AX将A
15、X内容复制到标志寄存器PUSH AXPOPF8086有类累加器专用传送指令。CPU使用对位端口进行输入输出操作,通过对位端口进行输入输出操作。指令格式: IN AL, 50HIN AX, 80HOUT 60H, AX端口号由提供()IN AL,DXOUT DX,AL IN AX,DXOUT DX,AX可以将累加器中的值转换为内存表中的一个值,常用于数码转换。MOV BX, 1000HMOV AL, 5XLAT程序执行后AL=55H 默认使用 提供段地址。 。 8086逻辑运算指令包括(与)、(或)、(非)、(异或)和(测试)指令。 AND AL,0FH AL=1001 11010000 110
16、1 AND DX,BX+SI OR AL,0FH AL=1001 11011001 1111 OR AX,20F0H XOR AL,0FH AL=1001 11011001 0010 XOR AX,AX AX=0 影响不确定。 指令与指令执行同样的操作,但指令不将结果回送到目标操作数,只是通过运算影响标志。TEST AX,8000H 如果AX最高位为0,则ZF=1,否则ZF=0。TEST AL,81H 如果AL最高位和最低位均为0,则ZF=1,否则ZF=0。TEST指令可用于测试目标操作数的某几位是否全为。 该指令对目标操作数按位取反。NOT ALNOT WORD PTR1000H 指令常用于
17、将目标操作数的指定位清。 指令常用于将目标操作数的指定位置。 指令常用于将目标操作数的指定位取反。 指令常用于测试目标操作数的某几位是否全为。 指令格式: 指令功能:这两条指令的操作结果是完全一样的,将目的操作数OPRD中的二进制数向左移动1位或CL寄存器中指定的位数。左移一位时,操作数的最高位移出送到CF中,同时最低位送0。目的操作数可以是8位,也可以16位。目的操作数OPRD:可以是累加器、寄存器、也可是存储器。 SHL AX,1SALWORD PTRBX+SI+100,CL利用左移1位操作可实现操作数乘2的运算。SHL AL,1AL*2 MOV CL,4 SHL AL,CLAL*160C
18、F最低位最高位 指令格式: 指令功能:将目的操作数OPRD中的二进制数向右移动1位或CL寄存器中指定的位数。该指令每执行一次移位操作,就使操作数右移一位,但符号位保持不变,而最低位移至标志位CF,目的操作数可以是8位,也可以16位。 CF最低位最高位MOV AH,5AHSAR AH,1 指令执行完后,(AH)=2DH,CF=0 指令格式: 指令功能:将目的操作数OPRD中的二进制数向右移动1位或CL寄存器中指定的位数。该指令每执行一次移位操作,就使操作数右移一位,左面的最高位将补0,最低位移至标志位CF中。目的操作数可以是8位,也可以16位。 CF最低位最高位0MOV BL,4EH SHR B
19、L,1指令执行后,(BL)=27H,CF=0 指令格式: 指令功能:将目的操作数OPRD中的二进制数向左移动1位或CL寄存器中指定的位数。左移一位时,操作数的最高位移出送到CF中,同时送至最低位。目的操作数可以是8位,也可以16位。 CF最低位最高位MOV AL,5BH ROL AL,1指令执行完后,(AL)=B6H,CF=0指令格式: 指令功能:将目的操作数OPRD中的二进制数向右移动1位或CL寄存器中指定的位数。右移一位时,操作数的最低位移出送到CF中,同时送至最高位。目的操作数可以是8位,也可以16位。 CF最低位最高位MOV AL,6BH ROL AL,1 指令执行完后,(AL)=B5
20、H,CF=1指令格式: 指令功能:将目的操作数OPRD中的二进制数向左移动1位或CL寄存器中指定的位数。左移一位时,操作数的最高位移出送到CF中,而原来的CF位送至最低位。目的操作数可以是8位,也可以16位。 CF最低位最高位MOV AL,4CH RCL AL,1 若CF=0,指令执行后,(AL)=98H,CF=0指令格式: 指令功能:将目的操作数OPRD中的二进制数向右移动1位或CL寄存器中指定的位数。右移一位时,操作数的最低位移出送到CF中,而原来的CF位送至最高位。 CF最低位最高位MOV AL,5CH RCR AL,1若CF=1,指令执行完后,(AL)=AEH,CF=0 8086可提供
21、加、减、乘、除4种基本算术运算的操作指令。这些指令可实现字节或字的运算,可以用于符号数和无符号数的运算。存贮器通用寄存器通用寄存器立即数存贮器通用寄存器通用寄存器存贮器指令格式:指令功能:OPRDlOPRDl+OPRD2 指令两个操作数相加,结果送至目的操作数。 源操作数可以是累加器、通用寄存器、存贮器和立即数。目标操作数可以是累加器、通用寄存器或存贮器。ADDAL,30 ADDAX,1000HADDAX,SI ADDAL,BXADDDX, BX+SI+100ADDBYTE PTRSI,100ADDSI+1000H,AX两个存储单元不能直接相加,段寄存器也不能参加运算。在使用时还要注意两个操作
22、数类型一致。这些指令执行时,对所有状态标志位都会产生影响。指令格式:指令功能:OPRD1OPRD1+OPRD2+CY 这条指令与ADD指令基本相同,只是在对两个操作数进行相加运算时还应加上进位位的当前值,然后再将结果送至目的操作数。MOVSI,2000HMOVDI,3000HMOVAX,SIADDAX,DIMOVSI,AXMOVAX,SI+2ADC AX,DI+2MOV SI+2,AX现有两个现有两个4 4字节无符号数,分别存放在内存字节无符号数,分别存放在内存20002000H H和和30003000H H起始的单元,低字节在前,高字节在后。计算两者的和,要求起始的单元,低字节在前,高字节在
23、后。计算两者的和,要求结果存放在结果存放在20002000H H起始的单元中。起始的单元中。MOVSI,2000HMOVDI,3000HMOVAX,DIADDSI,AXMOVAX,DI+2ADC SI+2,AX指令格式:指令功能:OPRDOPRD1 这条指令对指定的操作数进行加1操作,其操作数可以是通用寄存器,也可以是存储器。 INC ALINC CXINC WORD PTRSIINC BYTE PTR SI+BX指令格式:指令功能:OPRD1OPRD1OPRD2 该指令用来对目的操作数和源操作数的字或字节相减,其结果存放在目的操作数。源操作数OPRD2:可以是累加器、通用寄存器、存储器、立即
24、数。目的操作数OPRD1:可以是累加器、通用寄存器、存储器。 SUBAL,78H SUBBX,5678H SUBAX,CX SUBAL,SI+4 SUBDX, BX+SI+1000H SUBBYTE PTRSI5,100指令格式:指令功能:OPRD1OPRD1OPRD2CY 该指令与SUB相类似,只不过在两个操作数相减时,还应减去借位标志CF的当前值。这条指令主要用于多字节的减法运算。 指令格式:指令功能:OPRDOPRD1 该指令实现对操作数的减1操作,所用的操作数可以是寄存器的,也可以是存储器。在相减时,把操作数看作为无符号的二进制数。 DEC BL DEC CX DEC BYTE PTR
25、SI指令格式:指令功能:OPRD0OPRD 该指令用来对操作数进行求补操作,即用零减去操作数,然后再将结果送回。相当于操作数求反加1并保存在目的操作数中。 NEG AL NEG BYTE PTRSI 如果操作数的值为-128(16进制数为80H)或者-32 768(16进制数为8000H),执行求补指令后,操作数没有变化,但溢出标志。 指令格式:指令功能:OPRD1OPRD2 该指令执行减法操作,。指令执行后两操作数的内容不变,但相减的结果影响标志位。在程序设计时,比较指令通常为程序的转移提供条件。CMP AX,2000H CMP AL,50H CMP DX,SI CMP AX,BXSI10H
26、 如果所比较的两个操作数相等时,那么标志位,所以根据就可以判断两数是否相等。 无符号数相减时,就是借位标志。如果,表示无借位,即被减数大,减数小。如果,表示有借位,即被减数小,减数大。 两个有符号的比较时,同符号数相比较,相减的结果不会超出带符号数的表示范围,即不会产生溢出,;两个不同号的带符号数比较,相减的结果有可能产生溢出。这时可以用如下结论判断。 8086的乘法指令分为无符号数乘法指令和带符号数乘法指令两种。操作数:操作数:通用寄存器、存储器。不能为和。指令格式:指令功能: MUL CLMUL BXMUL WORD PTR SI要完成1415可以用下列指令:MOV AL,14MOV CL
27、,15MUL CL指令格式:指令功能: 8086有两条除法指令:无符号除法指令和带符号除法指令。它们都可以进行字节或字除法运算,并且规定,。8位除法的被除数在中;16位除法的被除数在中,除数由指令指出。对8位数除法,商与余数分别放在与中,对16位除法,商与余数分别放在与中。 指令操作数不能为和。 指令格式:指令功能: 指令格式:指令操作:与DIV指令相同,但被除数、除数、商、余数全部均为带符号数,且余数的符号位同被除数。 用IDIV指令时,如果是一个双字除以一个字,则商的范围为3276832767;如果是一个字除以一个字节,则商的范围为128127。指令格式:指令功能:AL中的符号位扩展到AH
28、中。若AL中的D7=0,则(AH)=00H;若AL的D7=1,则(AH)=FFH。指令格式:指令功能:AX中的符号位扩展到DX中。若AX中的D15=0,则(DX)=0000H;若AX的D15=1,则(DX)=FFFFH。无符号两字节相除 50/CLMOV AL,50MOV AH,0DIVCL带符号两字相除 1000H/BXMOV AX,1000HCWDIDIVBX 在计算机中,可用4位二进制码来表示一个十进制码,这种代码叫BCD码。BCD码只有09共10种编码。 BCD码有两类: 一类叫,用1个字节表示2位BCD码; 另一类叫,1个字节只用低4位来表示BCD码,高4位为0。指令格式:指令功能:
29、AL把AL中的非组合BCD码加法的和调整为非组合的BCD码格式。 AHAH调整产生的进位值。 如AL寄存器的低4位在09之间,且AF=0,则跳过第步,执行第步; 如AL寄存器的低4位为十六进制数的AF或AF=1,则AL中的内容加6,AH中内容加1,并将AF置1; 清除AL寄存器的高4位; AF位的值送CF位。 指令执行前AX=0505H,BL=09H,可见AL和BL中的内容分别为5和9。第一条指令执行后,AL=0EH,AF=0;第二条指令进行BCD码调整的结果使AX=0604H,AF=1,CF=1。AX和BX中各存放两字节非组合BCD码,计算两者的和存放到CX中。ADD AL,BLAAAMOV
30、CL,ALMOV AL,AHADDAL,BHAAAMOVCH,ALMOV CL,AHADD AL,BLAAAXCHG AL,CLADCAL,BHAAAMOVCH,AL指令格式:指令功能:AL把AL中的组合BCD码的和调整为组合的BCD码格式。 如AL寄存器的低4位大于9或AF=1,则AL加6,并将AF置1 ; 如AL寄存器的高4位大于9或CF=1,则AL加60H,并将CF置1 ;两8字节组合BCD码分别存放在2000H和3000H起始的单元(低位在前),计算两者的和,结果存放在2000H起始的9字节单元。 MOV SI,2000HMOVDI,3000HMOVCX,8CLCLP1: MOVAL,
31、SIADCAL,DIDAAMOVSI,ALINCSIINCDILOOP LP1MOVAL,0ADCAL,0MOVSI,AL指令格式:指令功能:AL把AL中的差调整为非压缩的BCD码格式。 AHAH调整产生的借位值。 这条指令主要用于SUB或SBB之后,减法指令必须把两个非压缩的BCD码相减,并把结果存放在AL寄存器中。 指令格式:指令功能:AL把AL中的组合BCD码的差调整为组合的BCD码格式。 必须使用 进行加减法运算,才能完成调整。 调整指令必须紧跟加减法指令执行。 参与加减法运算的BCD码类型必须与调整指令一致。指令格式:指令功能:AX把AL中的积调整为非压缩的BCD码格式。 这条指令之
32、前必须执行MUL指令把两个的BCD码相乘(此时要求其高4位为0),结果放在AL中。本指令的调整方法是: 对BCD码进行除法运算时,也要求除数和被除数都用的BCD码形式来表示,这是与对BCD码乘法的要求类似的地方。这里要特别注意一点,对BCD码除法运算的调整是在进行除法之前前,通过来实现的。 一个数据为65,用非压缩的BCD码表示,则AH中为06H,AL中为05H,调整执行AAD指令,这条指令将AH中的内容乘以10,再加上AL中的内容,这样得到AL的结果为41H,AH为0。 通过重复前缀完成串操作。 可以对字节串或字串进行操作。 一般源操作数在数据段中(DS),用SI间接寻址获得;目标操作数在扩
33、展段中(ES),用DI间接寻址获得。 可以对SI和DI的值自动修改。若对字节进行操作,则自动加1或减l;若对字进行操作,则自动加2或减2,加减由标志来决定。若DF=0,则SI和DI增量修改;DF=1,则SI和DI做减量修改。在串操作前可用指令使DF置l,也可以用指令使DF清0。 指令格式: ;字节传送 ;字传送 指令功能:(DI)(SI) 字节操作 SISI1;DIDI1;字操作 SISI2;DIDI2; 该类指令执行时,将把当前数据段中用SI指出的源串的一个字节或一个字传送到用DI指向的扩展段的目的地址中。 当DF=0且是字节传送时,则传送后SI、DI加1,以使指针指向下一个地址;当DF=0
34、且是字传送时,则SI、DI加2。若DF1,则SI、DI减1或减2。 将100个字节的字符串从内存数据段的1000H复制到内存扩展段的2000H中去。 MOV SI,1000H MOV DI,2000H MOV CX,100CLD;DF=0 REP MOVSB ;重复搬移 指令格式: ;字节比较 ;字比较 指令功能:(SI)(DI)字节操作 SISI1;DIDI1;字操作 SISI2;DIDI2; 该类指令执行时,将当前数据段由SI所指出的字节和字同当前附加段中由DI所指出的目的串的字节或字进行比较,比较结果。 它们是条件重复前缀。当条件满足时,才重复执行后面的串指令,一旦条件不满足,重复就停止
35、。 指令是相等重复指令,即只有,且,串操作指令就重复执行,每执行一次内容减 。 它们是条件重复前缀。当条件满足时,才重复执行后面的串操作指令,一旦条件不满足,重复就停止。 指令是不相等重复指令,即只有,且,串操作指令就重复执行,每执行一次内容减 。 比较1000H和2000H中的50个字节,找出第一个不相同的字节,如果找到,则将2000H起始单元中的这个数送AL中。 LEA DI,1000H LEA SI, 2000H MOV CX,50 CLD REPE CMPSB JZ NEXT DEC SI MOV AL,SI NEXT: 指令格式: ;字节扫描 ;字扫描 指令功能:字节操作 AL(DI
36、) DIDI1;字操作 AX(DI) DIDI2; 该类指令是串扫描指令,用于寻找内存区中指定的数据和字符。指令执行时,将AL或AX的值减去扩展段中由DI所指定的字节或字,。 AL中存放接收到的字符,在扩展段的0EEDH开始的4字节中依次存放+,-,;,: 的ASCII码,若AL内容与上面4个符号中的某一个相等,则在440H开始的对应单元加1。MOV DI,0EEDHCLDMOV CX,4MOV DX,CXREPNZ SCASBJNZ SEDSUB DX,CXDEC DXMOV DI,DXINC BYTE PTRDI+440HSED: 指令格式:;字节传送 ;字传送 指令功能:字节操作 AL(
37、SI) SISI1字操作 AX(SI) SISI2 该类指令是字串装入指令。它将由SI所指定的数据段中源串字节或字装入到累加器AL或AX中去,并根据DF的值修改指针SI,以指向下一个要装入的字节或字。 指令格式: ;字节存储 ;字存储 指令功能:字节操作 (DI)AL DIDI1字操作 (DI)AX DIDI2 该类指令是字串存贮指令。它将AL或AX中的字节或字存贮到扩展段中由DI所指定的单元去,且根据DF的值来修改DI的值。将扩展段中1000H开始的200字节单元清0。LEA DI,1000HMOV CX,100CLDXOR AX,AXREP STOSWMOV DI,1000HMOV CX,200CLDXOR AL,ALREP STOSB0100H:JMP 1000HE9FD0E0103H: JMP CX JMP WORD PTRBX JMP 2000H:1000H JMP DWORD PTRBP+DI 指令用于改变程序的执行顺序。转移有段内转移和段间转移之分。所谓段内转移是指段地址不变,仅IP发生改变;而段间转移,CS和IP均发生改变。 JMP 2000HJMP AXJMP 3000H:1000HJMP DWORD PTRSI 子程序调用和返回指令与无条件转移指令类似也是改变程序的执行顺序,但调用指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届和田地区三年级数学第一学期期末教学质量检测试题含解析
- 专升本真题2017年辽宁专升本思修真题答案
- 铁路线路工轨道知识与作业标准测试试卷
- 学校整体变革中什么是校长要坚持的“变”与“不变”
- 医院传染病防治知识全员培训测试试题及答案
- 外墙保温岩棉防火隔离带专项施工方案
- 2026年无偿献血知识竞赛考试题库(含答案)
- 中央空调维保及安装施工组织设计方案
- 个体工商户营业执照变更申请书
- 2026年中国分体立柜控制器市场调查研究报告
- 第三届全国技能大赛竞赛(软件测试赛项)选拔赛备考试题(附答案)
- 2025至2030年贵州省煤层气产业投资分析及前景预测报告
- 消化道出血的业务学习
- (高清版)DB11∕T2250-2024重点用能单位能耗在线监测系统接入技术规范
- 病媒生物防控知识
- 旋挖钻机操作保养手册(已定稿)最后修改
- 生猪屠宰兽医卫生检疫人员考试题库答案
- 高端案场物业服务方案
- 教科版小学科学《4.1我们的身体》课件
- 通信工程师中级考试动力环境务实真题及答案近年合集
- 工程振动试验分析(教材)
评论
0/150
提交评论