zoukankan      html  css  js  c++  java
  • 8086汇编——课堂笔记整理3

    STD set Director  将DF=1

    MOVSB ES:[DI]=DS:[SI]

    MUL IMUL

    MUL SRC 无符号    IMUL SRC 有符号

    MUL/IMUL  reg/mem8  ->  AX<-AL*reg/mem8

    MUL/IMUL  reg/mem16  ->  DX:AX<-AX*reg/mem16

    MUL/IMUL  reg/mem32  ->  EDX:EAX<-EAX*reg/mem32

    IMUL: 改变CF,OF;CF=OF=1,高位不为0;CF=OF=0,高位为0,无符号数/有符号数没有进位

    IMUL REG,SRC,IMM;  REG<-REG*sign-extened IMM

    16/32,16/32,8  ;  16,16,16(->extened)  ;  32,32,16(->extened)

    DIV IDIV

    DIV SRC;无符号          IDIV SRC ;有符号

    DIV/IDIV reg/mem8 ;AX/reg/mem8,余数->AH,商->AL

    DIV/IDIV reg/mem16;  DX:AX/reg/mem16,余数->DX,商->AX

    DIV/IDIV reg/mem32;  EDX:EAX/reg/mem32,余数->EDX,商->EAX

    expend 被除数

    CBW:AL->AX

    CWD:AX->DX:AX

    CWDE:AX->EAX

    CDQ:EAX->EDX:EAX

    e,g,1

    <c>unsigned A=1020,B=1000;unsigned N1,N2;N1=A/B,N2=A%B

    <a>

    A WORD 1020

    B WORD 1000

    N1 WORD ?

    N2 WORD ?

    MOV AX A

    MOV DX,0;将DX初始化为0

    CWD

    IDIV B

    MOV N1,AX

    MOV N2,DX

    e.g.2

    suppose X,Y,Z,V are 16-bit signed number,calculate (V-(X*Y+Z))/X.quotient in AX,remainder in DX

    MOV AX,X

    IMUL Y

    MOV BX,AX

    MOV CX,DX

    MOV AX,Z

    CWD

    ADD BX,AX

    ADC CX,DX

    MOV AX,V

    CWD

    SUB AX,BX

    SBB DX,CX

    IDIV X

    AAA

    将2个unpacked BCD码的和生成一个unpacked BCD码

    MOV AL,09H

    MOV BL,04H

    ADD AL,BL

    AAA

    改变AF:低8位向高8位进位,AF=1;AH<-(AH)+1

    AAS

    MOV AL,0106H

    MOV BL,7H

    SUB AL,BL

    AAS

    改变AF:低8位襄高8位借位,AF=1;AH<-(AH)-1

    AAM

    MOV AL,09H

    MOV BL,07H

    MUL BL

    AAM

    AAD

    MOV AX,0208H

    MOV BL,04H

    AAD;AL<-(AL)+(AH)*10

    DIV AX,BL

    DAA

    MOV AL,54H

    MOV BL,43H

    ADD AL,BL

    DAA

    DAS

    A=4612;B=3576

    MOV AL,A

    SUB AL,B

    DAS

    MOV B,AL

    MOV AL,A+1

    SBB AL,B+1

    DAS

    MOV B+1,AL

  • 相关阅读:
    设计模式之工厂模式 练习
    c++智能指针(1)
    记录下 UTF6 GBK 转换函数
    ip白名单 通过* ? 检测IP匹配 轻量级
    stl学习记录(2)
    boost 学习(1)
    stl string 小练习
    stl string 使用指定的分隔符分割成数个子字符串
    [open source] skinbuilder发布
    Builder模式实例分析(C语言版)
  • 原文地址:https://www.cnblogs.com/HackHer/p/5419545.html
Copyright © 2011-2022 走看看