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相關中斷輸出
關於微機原理匯程式設計序問題
第一步開啟easyeclipse for php軟體。會使用的直接複製下面 新建乙個file.php好後,輸入下面提供的 使用while迴圈輸出9 9乘法口訣 i echo 使用for迴圈輸出9 9乘法口訣 echo echo 使用do while迴圈輸出9 9乘法口訣 do i echo whil...
急!!51微控制器匯程式設計序問題
缺少消抖環節。延時10ms後,再去判斷是否按下。loopmain jb counts 為1轉移,因為沒有按鍵。lcall dl10ms 為0,是有鍵按下,等10msjb counts 為1轉移,因為剛才是按鍵抖動。ljmp cou 依然為0,才去執行按鍵的功能程式。樓上說的消抖是乙個方面,也就是說當...
微控制器大神請進,51微控制器彙編程式,程式可發至
1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...