組合語言 兩個2位的十進位制數相乘,要求結果用十進位制數輸出,求

2021-08-14 23:04:53 字數 3534 閱讀 3614

1樓:轉頭空夢

你十進位制數十已經知道捏 還是 還不知道

如果知道的話 直接轉換成 十六進位制 然後 開始乘法程式 18乘以40 即 12h*28hdata segment

tab db 12h

tbb db 28h

may db 10 dup(?),'$'

data ends

code segment

assume cs:code,ds:datastart:mov ax,data

mov ds,ax

lea si,may

xor ax,ax

xor dx,dx

mov al,tab

mov cl,tbb

mul cl

mov bx,10

next1:div bx

add dx,30h

mov [si],byte ptr dx

inc si

xor dx,dx

and ax,ax

jnz next1

mov cx,3

lea si,may

next2:mov dl,[si+2]

mov ah,2

int 21h

dec si

loop next2

mov ah,4ch

int 21h

code ends

end start

2樓:之鑲巧

。小模型

。 startup

。的code

mov ah,1

int 21h

mov bh,al

mov ah,1

int 21h

mov bl,al

地址bh,bl

daamov dl,bh

mov ah,9

int 21h

mov ah,4ch

int 21h。退出

組合語言編寫程式:兩個十進位制兩位數相乘,並輸出結果,跪求啊啊啊!!

3樓:鳳凰是聖鳥

;兩位十進位制數相加,並將結果輸出

mov ah,1

int 21h

mov bh,al

and bh,0fh

mov ah,1

int 21h

mov bl,al

and bl,0fh

mov ah,2

mov dl,'+'

int 21h

mov ah,1

int 21h

mov ch,al

and ch,0fh

mov ah,1

int 21h

mov cl,al

and cl,0fh

add bh,ch

;cmp bl,'9'

;add bl,2h

add bl,cl

;cmp bl,'9'

;add bl,2h

mov ax,bx

aaaadd ax,3030h

mov bx,ax

mov dl,'='

mov ah,2

int 21h

mov dl,bh

int 21h

mov dl,bl

int 21h

4樓:匿名使用者

先變成二進位制,乘完

然後轉換成十進位制輸出

用組合語言將兩個兩位十進位制數相加

5樓:永恆

code  segment

assume    cs:code

str1  db        '99+88','=$'

x  db        2 dup(0)y  db        2 dup(0)re  db        3 dup(0),'$'

start:

push      cs

pop       ds

push      cs

pop       es

lea       dx,str1

mov       ah,9

int       21h

lea       si,str1

mov       al,[si+1]

and       al,0fh

mov       x,al

mov       al,[si]

and       al,0fh

mov       x+1,al

mov       al,[si+4]

and       al,0fh

mov       y,al

mov       al,[si+3]

and       al,0fh

mov       y+1,al

mov       al,x

add       al,y

aaapushf

or        al,30h

mov       re+2,al

popf

mov       al,x+1

adc       al,y+1

aaapushf

or        al,30h

mov       re+1,al

popf

mov       al,0

adc       al,0

or        al,30h

mov       re,al

lea       dx,re

mov       ah,9

int       21h

mov       ah,4ch

int       21h

code  ends

end       start

彙編兩個十進位制數相加以二進位制迴圈輸出怎麼編寫,彙編剛入門,看不懂複雜的指令,麻煩簡單點,謝謝 20

6樓:匿名使用者

cseg segment

assume cs:cseg

start:

mov ax, 20 ; 計算

add ax, 40 ; 20+40

mov bx, ax ;儲存計算結果到bx中,供下面列印2進位制使用mov cx,16  ;2進位制,16位暫存器,共16個bit,需要循回

環16次

mov ah,0eh ;使用int 10h的輸出答功能p1:rol bx,1   ;把bx最高1位,移到最低1位,供輸出用mov al,bl  ;把bl拷貝到al,供輸出用and al,1   ;只保留最低1位的值,即剛才bx中最高位的值xor al,30h ;轉換為ascii值'0',或'1'

int 10h    ;呼叫10h中斷,輸出到螢幕上loop p1    ;迴圈

mov ah,4ch ;程式執行完畢,退出到系統int 21h

cseg ends

end start

組合語言 鍵盤接收十進位制數X以十六進製制顯示Y按以下公式計算Y X 2 X X 3 X 2 2X X 4 X 2 X 5 X

用彙編實現多位十六進製制數相加 data segment 高位在前,個位最後 x db 0,45h,21h,0adh,0cbh,54h,59h,44h,55h 4521adcb54594455h y db 0,45h,21h,0bah,0dch,78h,59h,44h,55h 4521badc785...

用組合語言列出8位二進位制數表示的十進位制數的個十百位。此微控制器彙編指令無乘除和取餘

mov 30h,255 百位mov 31h,255 十位 mov a,n 8位二進位制數lp1 inc 30h clr c subb a,100 jnc lp1 add a,100 lp2 inc 31h clr c subb a,10 jnc lp2 add a,10 mov 32h,a 個位 r...

C語言將十進位制的正整數轉換為二進位制數並輸出結果

十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。具體做法是 用2整除十進位制整數,可以得到乙個商和餘數 再用2去除商,又會得到乙個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。參考 include...