請問此彙編程式如何做到螢幕顯示

2021-07-14 02:13:40 字數 2430 閱讀 1231

1樓:匿名使用者

我除錯了能用,你自己拿去除錯了看下

幫你加了輸出語句

data1 segment

x dw 2

y dw 4

result dw ?

data1 ends

stack1 segment para stackdw 20 dup(0)

stack1 ends

code segment

assume cs:code,ds:data1,ss:stack1begin: mov ax,data1

mov ds,ax

mov bx,x

add bx,y

mov cl,3

sal bx,cl

sub bx,x

mov cl,2

sar bx,cl

mov result,bx

mov ax,bx

mov bx,100

cwddiv bx

push dx

add al,30h

mov dl,al

mov ah,02h

int 21h

pop ax

mov bl,10

div bl

mov bl,ah

add al,30h

mov ah,02h

mov dl,al

int 21h

add bl,30h

mov dl,bl

mov ah,02h

int 21h

mov ah,4ch

int 21h

code ends

end begin

2樓:

data1 segment

mes db'z=((2+4)*8-2)/4= $'

x dw 2

y dw 4

result dw ?

data1 ends

stack1 segment para stackdw 20 dup(0)

stack1 ends

code segment

assume cs:code,ds:data1,ss:stack1begin: mov ax,data1

mov ds,ax

mov bx,x

add bx,y

mov cl,3

sal bx,cl

sub bx,x

mov cl,2

sar bx,cl

mov result,bx

lea dx,mes

mov ah,9

int 21h

mov ax,result ;添上

call show ;添上

mov ah,0

int 16h ;等待

mov ah,4ch

int 21h

;添上show: ; 顯示ax中的值

push bx

push cx

push dx

xor cx,cx

mov bx,10

t5:xor dx,dx

div bx

or dx,30h

push dx

inc cx

cmp ax,0

jnz t5

t6:pop ax

mov ah,0eh

int 10h

loop t6

pop dx

pop cx

pop bx

retcode ends

end begin

3樓:匿名使用者

mov bx,word ptr ds:[result]mov al,bh

call dsal

mov al,bl

call dsal

dsal:

call altasc

push ax

mov dl,al

mov ah,02h

int 21h

pop ax

mov dl,ah

mov ah,02h

int 21h

retaltasc:

push cx

mov ah,al

and al,0fh

add al,90h

daaadc al,40h

daaxchg al,ah

mov cl,04h

shr al,cl

and al,0fh

add al,90h

daaadc al,40h

daapop cxret

4樓:海獅

需要加上的指令比你目前的程式還要長。

基本上把數轉換成bcd碼,然後呼叫21h相關中斷輸出

彙編程式的問題,一個彙編程式的問題

show str mov ax,0b800h mov es,ax 取得顯示緩衝區的首地址 這裡的10h要改成160,在視訊記憶體裡每一行字元佔用160個位元組 mov al,160 dec dh mul dh mov dh,0 dec dl 這裡還要加一條這個,用來把dl中的數翻倍,也就是乘2 因為...

彙編程式的問題

mov r0,22h mov a,21h loop mov r4,a clr c c要清零 subb a,r0 jnc rel1 mov a,r0 ljmp rel2 rel1 mov a,r4 這邊你忘記剛才的a已經被減掉了,所以得重新賦值 rel2 inc r0 cjne r0,51h,loop...

無符號數和有符號數在彙編程式裡如何區分

在彙編程式裡是沒有無符號數和有符號數區分的。加減運算指令是不區分有符號和無符號的,在計算機對有符號整數的表示只採取一種編碼方式,不存在正數用原碼,負數用補碼的問題。在組合語言裡宣告變數的時候,沒有signed和unsignde之分,彙編器全部將輸入的整數字面量當作有符號數處理成補碼存入到計算機中,只...