1樓:永恆
al=(0)、cf=(0)
code segment
assume cs:code
org 100h
start:
push cs
pop ds
push cs
pop es
mov al,ah
not al
add al,ah
inc al
jc @1
mov dl,'0'
mov ah,2
int 21h
jmp @exit
@1:mov dl,'1'
mov ah,2
int 21h
@exit:
mov ah,4ch
int 21h
code ends
end start
; 結果輸出為0,即進位標誌並未置1
《其實,有符號數的ff(即-1)加1後變為0,並不會產生進位》
2樓:匿名使用者
看彙編**要熟悉二進位制。
mov al,ah
al與ah的內容相同了
not al
將al每個位取反,0變1,1變0
add al,ah
此時al為全1,即11111111
inc al
遞增1,發生了進位,al變為了0,cf變為1
組合語言題目,求詳解
3樓:匿名使用者
mov di,offset buff 取陣列buff的首地址到di暫存器中
mov cx,000ah 設定迴圈次數
mov bl,0 做計數器用,用來記錄陣列buff中為0的位元組的個數,賦初值為0
goon:mov al,byte ptr [di] 將陣列的buff的一個位元組的資料放進al暫存器中
and al,al al中的資料與al中的資料做與運算,用來作為下一條跳轉指令的跳轉條件
jnz next 上一條指令運算不為0就跳轉到標號next處
inc bl 若 and al,al 這條指令的運算結果為0,bl暫存器就加1
next:inc di dl加1,dl最開始是陣列buff的首地址,加1相當於指向下一個位元組
loop goon cx先減1,判斷cx是否為0,若為0就跳出迴圈,不為0就迴圈,迴圈從標號goon處開始
hlt 停機
buff db 23h,54h,00h,83h,98h,36h,00h,49h,00h,73h
這段彙編**的作用是判斷單元大小為一位元組的陣列buff中有多少個位元組為0,並將結果儲存在bl暫存器中
組合語言題目
4樓:永恆
第3題:附加段的段地址為:4978h,左移4位得到其首地址為49780h,
段的長度為16kb即4000h,所以末地址為49780h+3fffh=4d77fh
第6題:壓棧1次,sp-2;彈棧1次,sp-2+2;再壓棧1次,sp-2+2-2=sp-2=100eh
ax=1234h,bx=1234h
第7題:
mov ax,0abcdh
and al,0fh--------al=0dhand al,30h--------al=00hshl ah,cl---------ah=0b0hand ah,0f3h-------ah=0b0h所以 ax=0b000h
第9題:結果就是buf1的位元組數,即6
組合語言的一道基礎題目求解
5樓:匿名使用者
da1 db '01234'
da2 db 5 dup(0)
mov si,0
mov cx,5
lop:
;loop 1, si = 0
mov al,da1[si] ; al <-'0', (al) = 30h
add al,11h ; (al) = 41h
or al,01h ; (al) = 41h, 即'a"
mov da2[si],al ; da2[0] = 'a'
inc si
loop lop
;loop 2 , si=1
mov al,da1[si] ; al <-'1', (al) = 31h
add al,11h ; (al) = 42h, 即'b'
or al,01h ; (al) = 43h, 'c'
mov da2[si],al ; da2[1] = 'c'
;loop 3 , si=2
mov al,da1[si] ; al <-'2', (al) = 32h
add al,11h ; (al) = 43h
or al,01h ; (al) = 43h,
mov da2[si],al ; da2[2] = 'c'
;loop 4 , si=3
mov al,da1[si] ; al <-'2', (al) = 33h
add al,11h ; (al) = 44h
or al,01h ; (al) = 45h,
mov da2[si],al ; da2[2] = 'e'
;loop 5 , si=4
mov al,da1[si] ; al <-'2', (al) = 34h
add al,11h ; (al) = 45h
or al,01h ; (al) = 45h,
mov da2[si],al ; da2[2] = 'e'
最後da2結果:'accee'
求組合語言期末複習題
組合語言題目 5
6樓:
這種題ab一下子就可以排除了,剩下的cd,要是直接定址也不用加了對吧,那麼就是d選項符合了。
一道組合語言題目
7樓:做而論道
1)cnt = 10
代表資料 buf1、buf2 的總的位元組數。
2)buf1:
ff0a
3132
buf2:
1000
-- ;從這行往下,題目上都有了--4241
什麼是組合語言,什麼是彙編和組合語言?
組合語言就是計算機語言,它是有0,1組成的.通俗的說就是我們人和計算機交流的語言.介於機器語言和高階語言之間的一種 什麼是彙編和組合語言?彙編語copy言是一種低階計算bai機程式語言,說 低階du 並不是指語言的功能和複雜程度,而是它zhi出現在計算機發展史dao的早期,但現在仍廣泛應用於計算機開...
高分懸賞,組合語言高手進,高分懸賞 組合語言題請高手來解答。
我只答第一題,其它的太費事了,其實第1題也很費事的,呵呵。進入debug 下面只給出輸入內容,表示回車,空格不能少,顯示的內容自己看吧 a100 mov dx,180 mov ah,9 int 21 mov ah,4c int 21 f180 190 hello g 100 至此完成了顯示,下面再儲...
如何學習組合語言,學習組合語言需要如何入門?
學習組合語言過程 一,要有一定的微機硬體基礎知識,因為彙編很底層,更加接近機器語言,往往很多的東西要從機器層面來支援理解。二,最好先學習一門高階語言,因為高階語言更接近人的語言,相對比較容易理解。掌握了一門高階語言後再學彙編,一來不易產生畏懼感,二來遇到問題,只能侷限於已學的彙編知識來來思考遇到的問...