汇编语言中二进制乘除怎么运算

汇编语言中二进制乘除怎么运算,第1张

你可以用求十进制的方法来求它

首选你把十六进制化为二进制然后相乘

89BCH=1000,1001,1011,1100B

21H=0010,0001B

1000100110111100

 00100001

1000100110111100

1000100110111100

100011100000100111100B=11C13CH

汇编语言符号乘法指令大全

MOV(MOVE)

传送指令P28

PUSH

入栈指令P32

POP

出栈指令P33

XCHG(eXCHanG)

交换指令P34

XLAT(TRANSLATE)

换码指令P34

LEA

(Load

Effective

Address)

有效地址送寄存器指令P35

LDS(Load

DS

with

pointer)

指针送寄存器和DS指令P35

LES(Load

ES

with

pointer)

指针送寄存器和ES指令P35

LAHF(Load

AH

with

Flags)

标志位送AH指令P36

SAHF(Store

AH

into

Flgs)

AH送标志寄存器指令P36

PUSHF(PUSH

the

Flags)

标志进栈指令P36

POPF(POP

the

Flags)

标志出栈指令P37

ADD

加法指令P38

ADC

带进位加法指令P39

INC

加1指令P39

SUB(SUBtract)

不带借位的减法指令P40

SBB(SuVtrach

with

borrow)

带借位的减法指令P40

DEC(DECrement)

减1指领P41

NEG(NEGate)

求补指令P41

CMP(CoMPare)

比较指令P42

MUL(unsinged

MULtiple)

无符号数乘法指令P46

IMUL(sIgned

MUL

tiple)

有符号数乘法指令P46

DIV(unsigned

DIVide)

无符号数除法指令P48

IDIV(sIgned

DIVide)

有符号数除法指令P48

CBW(Count

Byte

to

Word)

字节转换为字指令P50

CWD(Count

Word

to

Doble

word)

字转换为双字指令P50

DAA

压缩的BCD码加法十进制调整指令P53

DAS

压缩的BCD码减法十进制调整指令P53

AAA

非压缩的BCD码加法十进制调整指令P54

AAS

非压缩的BCD码加法十进制调整指令P54

AND

逻辑与指令P54

OR

逻辑或指令P55

XOR

逻辑异或指令P56

NOT

逻辑非指令P56

TEST

测试指令P57

SHL(SHift

logical

Letf)

逻辑左移指令P57

SHR(SHift

logical

Right)

逻辑右移指令P57

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的 *** 作码,用地址符号(Symbol)或标号(Label)代替指令或 *** 作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

用C语言实现该功能 #include<stdioh> main() {float a,b,c;printf("请输入两个乘数!") scanf("%d%d",&a,&b); c=ab; printf("%dX%d=%d",a,b,c); }

;用汇编语言编一个九九乘法表,主要是要梯形结构,最好写一下简单的流程

;用MASM50编译通过,以下是运行结果

;E:\masm1>9X9

;

;1X1=1

;1X2=2 2X2=4

;1X3=3 2X3=6 3X3=9

;1X4=4 2X4=8 3X4=12 4X4=16

;1X5=5 2X5=10 3X5=15 4X5=20 5X5=25

;1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36

;1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49

;1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64

;1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81

;

;

data segment

L DB 31H,'X'

H DB 31H,'='

M1 DB 0

M2 DB 0

DB ' $'

M DB 0 ;乘积

CRLF DB 0DH,0AH,'$'

data ends

code segment

main proc far

assume cs:code,ds:data

start:

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

CALL CRLF_P

MOV AL,31H

MOV L,AL

MOV H,AL

NEXT_L:

CALL DISP

MOV AL,H

CMP AL,L

JE NEXT_H

INC L

JMP NEXT_L

NEXT_H:

CALL CRLF_P

INC H

MOV AL,31H

MOV L,AL

MOV AL,H

CMP AL,3AH

JE END9

JMP NEXT_L

END9:

RET

;INT 20H

main endp

;=====================

DISP PROC NEAR

MOV AL,H

MOV BL,L

SUB AL,30H

SUB BL,30H

MUL BL

MOV M,AL ;;乘积

MOV BL,10D

DIV BL

CMP AL,0

JE NO10

ADD AX,3030H

MOV M1,AL

MOV M2,AH

JMP DISP11

NO10:

ADD AH,30H

MOV M1,AH

MOV AL,' '

MOV M2,AL

DISP11:

MOV DX,OFFSET L

MOV AH,09

INT 21H

RET

DISP ENDP

;========================

CRLF_P PROC NEAR

MOV AH,09

MOV DX,OFFSET CRLF

INT 21H

RET

CRLF_P ENDP

code ends

end start

1乘法:

MUL AB ;(A)×(B),积的低8位在A中,积的高8位在B中;

C总为0。

2除法:

DIV AB ;(A)÷(B),商在A中,余数在B中。

若(B)= 0 ,则结果不定,(OV)= 1,(C)= 0。

例、试将A中的二进制数转换为3位BCD码,其中,百位数存放于31H单

元,十位数和个位数压缩后存于30H单元中。

解;MOV B,#100

DIV AB

MOV 31H,A

MOV A,#10

XCH A,B

DIV AB

SWAP A

ADD A,B

MOV 30H,A

code  segment

      assume cs:code

      org 100h

start:

      jmp bbb

x     db 11h

y     db 12h

z     dw 

msg1  db 13,10,'     ','$'

bbb:

      push cs

      pop ds

      push cs

      pop es

      mov al,x

      mov bl,y

      mul bl

      mov z,ax

      lea di,msg1

      inc di

      inc di

      mov cx,4

again1:

      mov ax,word ptr[z]

      rol ax,1

      rol ax,1

      rol ax,1

      rol ax,1

      mov word ptr[z],ax

      and ax,000Fh

      cmp al,9

      jg line1

      add al,30h

      mov byte ptr[di],al

      jmp line2

line1:

      add al,37h

      mov byte ptr[di],al

line2:

      inc di

      loop again1

      lea dx,msg1

      mov ah,9

      int 21h

      mov ah,8

      int 21h

      mov ah,4ch

      int 21h

code  ends

      end start

以上就是关于汇编语言中二进制乘除怎么运算全部的内容,包括:汇编语言中二进制乘除怎么运算、汇编语言有符号乘法指令、汇编语言编程:两个数相乘的实验等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9864255.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存