a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 107|回复: 1

[PC技术] 2012年计算机三级考试PC技术基础知识(12)

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
七、80x86指令系统
" S% G1 l7 t* \5 b0 b  (一)8086指令系统 . g: ]: p( T. w: x3 ?7 X
  8086/8088指令系统是整个80x86系列微措置器的基本,按功能可以分为六种类型。
0 g$ C. s1 i9 d  1.传送指令 2 d% X& s" C' I5 W8 b3 P0 V* _: D
  传送指令用于在存储单元、寄放器、输入/输出端口之间传送地址或数据。
0 f4 C7 u7 m) J  ①通用数据传送指令
- v6 B6 y' Q1 l/ o+ s, k  MOV指令:该指令可以将一个当即数传送到寄放器或存储单元中,也可以在寄放器与寄放器之间、寄放器与存储器之间传送字数据或字节数据。例如:将一个当即数传送到寄放器中的指令MOV AL,05H;在两个寄放器之间传送字节数据的指令MOV AL,BL;在寄放器和存储器之间传送数据的指令MOV SI,。 ; X7 N# W4 W' a& f6 O4 s1 }0 R
  XCHG指令:该指令可以将源操作数和目的操作数进行交流,但操作数可所以寄放器或存储单元,不能是段寄放器或当即数,也不能同时为两个存储器操作数。
- k' E( A) q. h3 @# U  PUSH指令:PUSH指令是对一个16位操作数执行进栈操作,这是在一个操作数和仓库之间进行数据传送,而不是在两个操作数之间进行数据传送。
) Z3 m' Y* U& ]  [/ |( X  POP指令:POP指令是将一个16位操作数执行出栈操作,这也是在一个操作数和仓库之间进行数据传送。
3 z' m; M5 y2 a% t& p" e  XLAT指令:该指令专门用于在AL寄放器与字节表中某一存储单元之间进行数据传送。其中字节表的首地址存放在BX基址寄放器中,按照AL设置的偏移地址,可以将该单元的内容传送到AL累加寄放器中。
  M: Q' J0 j# @) A* ?( s7 W  ②输入/输出指令 ( W1 K6 K* L( }" W2 {
  该指令专门用于在累加器和I/O端口之间进行数据传送操作。输入/输出的工作事理:CPU使用AL或AX寄放孀居神通据或发送数据,最多可供给64K个8位端口地址,或32K个16位端口地址。当端口地址小于256时使用直接寻址来获得操作数,即在指令中直接指定端口地址;当端口地址跨越256时使用借居寻址来获得操作数,即先将端口地址放到DX寄放器中,然后操作IN指令或OUT指令进行输入/输出操作。例如:IN AX,28H是从I/O端口28H输入一个字到AX寄放器中;OUT 5,AL是从AL寄放器输出一个字节到I/O端口5中。 . M; R: ?% y! k; p0 i
  ③地址传送指令 ; L) {4 o& _) I; l! l4 O
  LEA指令:该指令是将源操作数的偏移地址传送到通用寄放器、指针寄放器或变址寄放器中,要求目的操作数是一个16位寄放器,源操作数是一个存储器地址,这样就可以获得指令执行所需的有用地址。 ) `! ]+ G8 r- U# B. n% [7 [
  LDS指令:该指令是将源操作数指定的持续四个存储单元中存放的32位地址指针(搜罗一个段地址和一个偏移量)传送到两个16位寄放器,其中两个高位字节(段基址)送段寄放器DS,两个低位字节(指偏移量)送指令指定的16位通用寄放器,这样就获得指令执行所需的地址指针。LES指令:该指令是将源操作数指定的持续四个存储单元中所存放的32位地址指针(一个段地址和一个偏移量)传送到指令指定的16位通用寄放器和段寄放器ES中。其中两个高位字节(段基址)送段寄放器ES,两个低位字节(指偏移量)送指令指定的16位通用寄放器,这样就获得指令执行所需的地址指针。④标识表记标帜传送指令
5 i/ M. _  T2 M2 ]0 W( ~: }( F: E  该指令用于对标识表记标帜寄放器中的内容进行数据传送操作。 9 P/ U4 x$ k. ?) P+ n9 B
  2.算术运算指令 ' \( p+ R2 j* `( i  c
  在8086/8088微措置器中,算术运算指令可用于二进制数和无符号十进数的各类算术运算。二进制数可所以单字或双字节,也可所以有符号数或无符号数。十进制数直接使用BCD码,以暗示无符号(Unsigned)的十进制数。 4 R5 [  Y- ^; N4 m- p9 o
  (1)加法指令 : ?4 L" ?% x& x  M% C, c2 ?
  ①ADD
  |6 i. S1 g1 l' D1 B  名目: ADD OPRD1,OPRD2
2 j: r6 _' g  q* ?3 k  功能:实现两个操作数相加,结不美观送原本存放目的操作数的处所。目的操作数可所以累加器、通用寄放器或存储器操作数。
% O; k1 g; h& @! m6 }( M$ G  加法指令可以完成累加器与当即数,或与任一通用寄放器、或与存储单元的内容相加,结不美观放在累加器中。
8 v/ a  u7 ?) X7 m4 J2 c0 o; Q  声名:加法指令可以完成任一通用寄放器与任一通用寄放器,或与当即数、或与存储单元的内容不异,其“和”放在通用寄放器中。
/ a+ b( R' @6 T% D: `% K4 u7 g; }9 d! M  加法指令也可以实现存储器操作数与当即数,或与累加器、或与通用寄放器内容相加,其“和”放在存储单元中。
& C! ^* {. Y% s+ Z' h- v  注重:存储器操作数与当即数相加时,必需指明操作数的类型。ADD指令的执行结不美观将影响标识表记标帜位CF、AF、PF、ZF、SF和OF。
% c& t' N; Y9 k- ~: v  ②ADC
5 _) w4 d( u5 E7 }2 [/ Q  名目: ADC OPRD1,OPRD2
  ?' G) ?/ ?6 J7 G/ n( B' H% N, r  功能:ADC指令与ADD近似,分歧之处在于两个操作数相加时,还要加长进位标识表记标帜CF的当前值,结不美观送原本存放目的操作数的处所。 7 R% d: Z3 q/ j4 N4 S
  声名:指令执行结不美观对标识表记标帜值的影响与ADD不异。
3 T9 p/ d8 X, E4 z3 J  ③INC
1 P9 q! U0 |2 g  d2 ~' d( f: d9 t  名目: INC OPRD 9 b+ s0 f0 F$ ^$ G
  功能:操作数OPRD加1。操作数可所以通用寄放器,也可为存储器操作数。声名:该指令执行结不美观影响标识表记标帜位SF、ZF、AF、PF和OF,而对CF无影响。④AAA 5 A$ H+ o) I1 F) p, A- ^
  功能:AAA是未组合BCD码加法调整指令。它对在AL中两个未组合的十进制数相加的结不美观进行校正,发生一个未组合的十进制和数。⑤DAA
# |. w, f% u: `! |& `  功能:DAA为十进制加法调整指令。它对AL中两个组合的十进制数相加的结不美观进行校正,发生一个组合的十进制和数。
回复

使用道具 举报

 楼主| 发表于 2012-7-31 20:55:17 | 显示全部楼层

2012年计算机三级考试PC技术基础知识(12)

(2)减法指令
6 M" T2 m3 Q2 b  ①SUB
5 ~) E. ^/ u' u9 ?  @  名目: SUB OPRD1,OPRD2 , r, Q/ {* c! q+ L/ L  T& H
  功能:完成两个操作数相减,结不美观放在目的操作数OPRD1中。其轨则与加法指令不异。 . [7 R  Q* {2 k0 D, {
  声名:SUB的执行结不美观影响标识表记标帜位SF、ZF、AF、PF、CF和OF。 4 y* O& U! A- t9 f" m) M
  ②SBB
3 L/ P9 M2 m3 i& D9 L  名目: SBB OPRD1,OPRD2
9 S# D2 F% G7 C! s5 P  功能:SBB指令与SUB根基不异,分歧的昵嘟个操作数相减时,还要减去借位标识表记标帜位CF的当前值。 0 L  e! Q% ]/ q
  ③DEC
5 Q0 c; O! s3 w- }) {; H  名目: DEC OPRD
# a! A1 Y$ d- ?* [  E+ t. q0 K  功能:完核对操作数OPRD减1运算后返回操作数中。操作数可所以寄放器或存储器。 , Y- q! o5 [% W3 b3 g$ E5 ~1 g
  声名:指令执行对标识表记标帜位CF无影响,但影响标识表记标帜位SF、ZF、AF、PF和OF。
, O$ g% L! L1 E6 E9 Y) g5 q  ④NEG
7 N& q3 l$ k* I. W  名目: NEG OPRD
( }6 d) o( G) K' R3 _1 }  功能:完核对操作数取补,即用零减去操作数,再把结不美观送回操作数。 & G8 M( M5 l- ~0 ]
  声名:该指令执行结不美观影响标识表记标帜位SF、ZF、AF、PF和OF,对于CF一般老是CF=1,只有当操作数为0时,CF=0。⑤CMP
# W" m( d. w$ E8 W  名目: CMP OPRD1,OPRD2
. v( N/ p$ j' f0 H: D6 S3 f# b+ c  功能:完成两个操作数相减,但不回送结不美观,结不美观只影响状况标识表记标帜位。操作数划定与加法操作数不异。
0 N, _2 O9 {+ ~  CMP指令只斗劲两个数的巨细。若两数相等,则ZF=1,否则ZF为0。若两数不相等,则其巨细简直定可操作CMP指令执行后的其他标识表记标帜位来确定。例如,对于无符号数,可操作CF标识表记标帜值来判定。当CF=1时,则OPRD1OPRD2。对于有符号数,则用标识表记标帜位SF和OF的状况一同剖断。 + y) [7 x3 R. e2 f
  ⑥AAS
. v+ p. x3 G( y' D$ s+ p% e1 o  功能:完核对在AL中的两个未组合的十进制数相减的结不美观进行校正,在AL中发生一个正确的未组合十进制数的差。
$ M+ l, T3 S/ ^: y; i8 u2 {  ⑦DAS " R9 d! w- r8 s( T7 j
  功能:完核对在AL中两个未组合的十进制数相减往后的结不美观进行校正,在AL中发生一个正确的组合十进制数的差。
! d& g' V  }# X4 h1 D9 h, \  p7 C  (3)乘法指令
/ U! g" U$ V# U$ F- Q. |4 B% b  ①MUL 0 ~6 t, A6 \6 r5 b( \7 t( ~' n, u
  名目: MUL OPRD
/ T- C% o+ a& M6 b* ?  功能:完成源操作数OPRD与累加器中的数相乘,结不美观放在累加器中。介入运算的操作数可所以寄放器或存储器。乘积为单字节长时,放在AX中;乘积为双字长时,分袂存放在DX(乘积的高16位)和AX中。
, m7 x; \( ]; a* N# ]! f  声名:将内存单元FIRST和SECOND的两个字节的内容相乘,乘积放在THIRD单元和下矣闽单元内。MUL指令运行结不美观只影响标识表记标帜位CF和OF。 3 u# p$ W" m0 Z* S" t8 l$ K0 r
  ②IMUL
- q; H5 E. F. o$ `$ }  名目: IMUL OPRD 1 y, d7 j. C+ E* a! H: W& y, D: P
  功能:IMUL指令为带符号数相乘指令,即将源操作数与累加器中的数都作为带符号数相乘,其余与MUL指令不异。
. V% s0 j6 t( N+ r9 Y" t0 U  ③AAM   v2 y6 Z+ `4 T8 z5 V: Z
  功能:对在AX中两个未组合的十进制数的乘积进行校正,以获得正确的未组合的十进制数的乘积。
/ S& S& X% c- o+ T" P( l. B% Q  (4)除法指令 , M0 @" I' t: H6 I3 i, \
  ①DIV " z; O9 M% X+ V) }3 Z; k
  名目: DIV OPRD
) P5 ~. i% r* W) K, }4 n  功能:无符号除法指令。用指定的源操作数OPRD去除累加器中的值,所得商和余数分袂放在AL和AH(字节操作)或AX和DX(字操作)中。
. o5 e- D% p2 O  ^" u6 l2 P  ②其他除法指令 ; G+ N. V0 H9 S  g
  ●IDIV: 完成带符号数的除法运算。
6 S9 _8 m' \& s6 U; W/ k  ●AAD: 完成AX中的两位未组合的十进制数在两个数相除之前进行核正。 / p7 ~( q" e; \7 e8 r7 S
  ●CBW: 字节转换为字。具体操作是按AL的符号位扩展到整个AH中。 ) p% H9 ?  V% W  @  Y* Q, }- y; ~
  ●CMD: 字转换为双字。按AX的符号扩展到整个DX中。 7 Z! [6 B1 f$ \$ k- e, U* h: n3 |
  3.逻辑运算和移位指令
- l; @" L2 D/ s$ Y9 U, R* y  (1)逻辑运算指令①NOT 1 D. i. V2 K* T' r
  名目: NOT OPRD 2 E8 Z! ]& X- G- ^3 L$ b3 S9 }4 Z
  功能:完核对操作数求反,然后送回原处。声名:此指令对标识表记标帜位无影响。   h/ `: ^' h2 |7 t4 F
  ②AND ( i2 _2 i* x5 J: s
  名目: AND OPRD1,OPRD2
& I! @. [4 N. P! Z  功能:对两操作数进行按位逻辑“与”运算,结不美观送目的操作数。目的操作数可为通用寄放器、存储器,源操作数可所以当即数、寄放器、存储器。
9 v6 s* @7 m, l% g5 {( Y4 r( K  ③OR $ o' f9 x# X: B6 x0 G  P" y, y6 y$ r
  名目: OR OPRD1, OPRD2
6 S" r# ?5 y" ]& X  功能:对两操作数进行按位“或”运算,结不美观回送目的操作数。操作数划定与AND不异。 , x$ ?1 W, k8 z6 K& F8 p
  声名:“或”运算令标识表记标帜位CF=0,OF=0,其“或”操作后的结不美观反映在标识表记标帜位PF、SF和ZF上。 + g4 l- z1 y. z
  ④XOR $ c( e6 U+ L5 z4 T. F
  名目: XOR OPRD1,OPRD2 * h) D' d# E' u2 A; q
  功能:对两个操作数进行按位“异或”运算,结不美观回送目的操作数。   ~, H! y8 h/ K! }) {. L! d
  声名:XOR执行后,标识表记标帜位CF=0,OF=0,“异或”操作结不美观反映在标识表记标帜位PF、SF和ZF上。
& }2 m0 u5 u% w; B2 G  ⑤TEST . ^" Z: F9 m( ?  j+ l3 y+ s
  名目: TEST OPRD1,OPRD2
5 s: f( H% j0 U6 n5 P7 c: g  功能:TEST指令的操作与AND指令完全不异,但结不美观不送目的操作数,仅反映在状况标识表记标帜位上,TEST指令的操作数划定与AND不异,对标识表记标帜位的影响亦与AND不异,即:CF=0,OF=0,结不美观反映在标识表记标帜位PF、SF和ZF上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 05:43 , Processed in 0.320222 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表