80888 1 4 SHL SHR SAL SAR 1
- Slides: 55
(二)移位指令 (8088有8条移位指令) : 1、 算逻移位指令( 4条 ): SHL , SHR, SAL , SAR 。 (1)、 SHL/SAL(Shift logical left/shift arithmetic left) 逻辑左移/算术左移指令 (2)、SHR (Shift logical right ) 逻辑右移指令 (3)、SAR (Shift arithmetic right )算术右移指令 2、循环移位( 4条): ROL, ROR , RCL, RCR。 (1)、ROL (Rotate left ) 不含CF循环左移指令 (2)、ROR (Rotate right ) 不含CF循环右移指令 (3)、RCL (Rotate left through carry )含CF循环左移指令 (4)、RCR (Rotate right through carry )含CF循环右移指令
应用举例: (BX)=84 F 0 H (1) 若(BX)无符号数,求(BX)/2 SHR BX,1 ; (BX)=4278 CF=0,OF=1,SF=0,ZF=0 (2) 若(BX)带符号数,求(BX)/4 MOV CL,02 H 或SAR BX,1 SAR BX,CL SAR BX,1 ; CF=0,OF无意义, SF=1,ZF=0
(一) 与REP相配合 作的MOVS、STOS、LODS指令 • REP 重复串操作直到(CX)=0为止 格式:REP String Primitive 串指令 String Primitive 可为:MOVS、STOS、LODS。 1. MOVS(Move String) 2. LODS(Load from String) 串传送 从串取指令 3. STOS(Store into String) 存入串指令
例:将内存的数据段中以AREA 1为首地址的100个数据,传 送到附加段中的AREA 2为首地址的区域。 用MOVS串操作指令编程: MOV AX,SEG AREA 1 MOV DS,AX MOV AX,SEG AREA 2 MOV ES,AX MOV SI,OFFSET AREA 1 MOV DI,OFFSET AREA 2 MOV CX,100 CLD ; DF=0,增址传送 REP MOVS ES:BYTE PTR[DI], DS:[SI]
应用MOV指令编程: MOV AX,SEG AREA 1 MOV DS,AX MOV AX,SEG AREA 2 MOV ES,AX MOV SI,OFFSET AREA 1 ;将ARE 1偏移地址→SI MOV DI,OFFSET AREA 2 MOV CX,100 LOOP 1:MOV AL,[SI] ; (AL)←((DS):(SI)) MOV ES:[DI],AL ;((ES):(DI))←(AL) INC SI INC DI DEC CX JNE LOOP 1
例:在附加段STORE开始存 5个空格 . . . STORE: 程序: 20 H MOV AL,20 H ;‘ ’ (AL) 20 H MOV CX,5 MOV DI,offset STORE 20 H. . . CLD REP STOSB ;((ES):(DI)) (AL) (DI)+1 . . .
(二) 与REPE/REPZ和REPNE/REPNZ联合 作的CMPS和SCAS指令 • REPE/REPZ 当相等/为零时重复串操作 格式:REPE(或REPZ)string primitive 当相等重复前缀REPZ String primitive可为 : CMPS , SCAS 1、CMPS(Compare string ) 串比较指令 2、SCAS (Scan string ) 串扫描指令,搜索指令
• REPNE/REPNZ 当不相等/不为零时重复串操作 格式:REPNE(或REPNZ)string primitive 当不相等重复前缀REPNZ string primitive. String primitive可为 : CM PS , SCAS 1、CMPS(Compare string ) 串比较指令 2、SCAS (Scan string ) 串扫描指令,搜索指令
REPZ CMPSB指令 例:利用CMPS指令对STRING 1和STRING 2二个字符串进行 比较,相同在RESULT 单元送00 H,不同送0 FFH。 MOV SI,OFFSET STRING 1 MOV DI,OFFSET STRING 2 MOV CX,COUNT CLD REPZ CMPSB JNZ UNMAT ;若串不同,在RESUL单元中置 0 FFH MOV AL,0 ;若串相等,在RESULT单元中置 00 H JMP OULPT UNMAT:MOV AL,0 FFH OUTPT: MOV RESULT,AL HLT
开始 程序: 初始化,置源地址、目的地址指针 清方向标志DF LEA SI , BLOCK 1 LEA DI , BLOCK 2 CLD NEXT: LODSB CMP AL , 0 DH JZ DONE CMP AL , 61 H JC OK CMP AL , 7 BH JNC OK SUB AL , 20 H OK: STOSB JMP NEXT DONE: HLT 取一个字符 Y 回车? N Y <‘a' N Y >'z'? N 转换为大写字母 送存 流程图 结束
- Interrupt vector table 8086
- What is sar level
- Sal o sar
- Div vs idiv
- Shl competenties
- Serumanalyse
- Shl helpdesk
- Sokoy
- Loughborough uni testing
- Shl 8086
- Leptiri na sar planini
- Nova sar
- Sar hovedredningssentralen
- Unikonta characteristics
- Ipcc sar
- 5th generation cephalosporins
- Gram negative bacteria
- Krsti sar
- Definition of sar
- Ads8528
- Ricerca per immagini
- Sar checklist
- Gb-sar
- Sar of cephalosporins
- Sar of penicillin
- Define uu
- Chrysophyta sar
- Layover
- Behandlersygeplejerske
- Diagnosis banding sar
- Arc.sar
- Sar soil
- Fnf mapping
- Sar rotary international
- Hester van der sar
- Laboratory safety measures
- Sar
- Sar of penicillin
- Sar of sympathomimetic agents
- Osc sar
- Sar n
- Stramenophila
- Sar image formation
- Third-generation cephalosporin
- Difference between qsar and sar
- Pran kishore
- Tygron
- Durezza acqua
- Sar of cephalosporins
- Foliage penetration
- Stain sar kepri
- Sar of cholinergic agents
- Sar of sulfonamides
- Amoebazoans
- Nacionalni parkovi srbije 4 razred
- Salmo 139 come un prodigio