《組合語言程式設計》測試題
一、
填空:(
15分) 1
、計算機語言指令包括:,。
2
、資料暫存器組包括ax,
bx,cx,
dx ,其中ax稱
,bx稱為,
cx 稱,dx
稱。四個段暫存器分別是,ip
暫存器中存放的是。4
、資料的傳送的基本單位分為三種位元組、字、雙字,其中乙個整數位元組的表示範圍是
,乙個整數字的表示範圍是 。
5、堆疊是
的儲存結構,
作為堆疊的棧頂指標暫存器使用。 6
、debug
中包括了若干條命令,其中
u命令的功能是,d
命令的功能是
,檢視暫存器內容的命令是
.
二、
計算題:(25)
1、
下列各數均為用
16進製表示的
8位二進位制數,請說明當它們分別被看作是用補碼表示的數或字元的
ascii
碼時,它們所表示的十進位制數和字元是什麼? (
1)
4f (2
)2b
2、完成下列二進位制數的計算:
00010101+00001101=
00111110+00101001=
00011111
—00000101=
3、求下列二進位制數的補碼: —
00010011
—00111111
4、求下列各數與
62a0h
的和,並根據結果設定標誌位sf、
zf、cf、
of:
(1)4321h(2)9d60h
5、 (1
)3549
:0075(2
)1fe0
:00ea
三、
簡答題:(20)
1、
如果乙個堆疊從位址
1250
:0000
開始,它的最後乙個字的偏移位址為
0100h,sp
的內容為
0052h:
問:(1
)棧頂位址是多少? (
2)棧底位址是多少? (
3)在
ss中的段位址是多少? (
4)存入資料
83a0h
後,sp
的內容是多少? 2、
假定(ds
)=2000h
,(es
)=2100h
,(ss
)=1500h
,(bx
)=0100h
,(si)=
00a
0h
,(bp
)=0010h
,資料變數
val的偏移位址為
0050h
,請指出下列指令的源運算元欄位是什麼定址方式?它的實體地址是多少?
(1)
mov ax
,0abh
(2)movax,bx
(3)mov ax
,[100h]
(4)mov ax
,val
(5)mov ax
,[bx]
(6)mov ax,es
:[bx]
(7)mov ax
,[bp]
(8)mov ax
,[bx+10]
(9)mov ax
,[bx][si]
(10)
mov ax
,[bx][si]10
3、指出下列指令中的錯誤:
(1)
mov ah,bx
(2)mov [bx]
,[si]
(3)mov ax
,[si][di]
(4)movmydat [bx][si],es
:ax
(5)movbyteptr[bx]
,1000
(6)movbx
,offsetmydat [si]
(7)movcs,ax
(8)movds
,bp
4、假定(dx)
=10111001b
,(cl
)=03
,(cf)=1
,確定下列各條指令單獨執行後,
dx中的值。
(1)
shr dx,1
(2)sar dx,cl
(3)shl dl,1
(4)ror dl,cl
(5)rcrdl,1
四、
閱讀下列程式段,說明完成什麼工作?
(15)
1、程式段如下:
movax
,1234h
movcl,4
rolax,cl
dec ax
movcx,4
mulcx
int 20h
試問:
(1)每條指令執行完後,
ax暫存器內容是什麼?
(2)
每條指令執行完後,cf,
zf,
sf的值是什麼?
(3)
程式結束時,ax,
dx的內容是什麼? 2、
讀下列程式,並指出此程式執行結束後,顯示器所顯示的內容:
asegment
numdb00111001b
bufdb0ah
,0dh
,『(num)=
』
buf1db 4 dup (0
)
aends
bsegmentstack
db200 dup (0
)
b ends
csegment
assumeds:a
,ss
:stack,cs
:c
begin
:movax,a
movds,ax
leadi
,buf1
moval
,num
mov cl,4
shr al,cl
or al
,30h
mov[di],al
incdi
moval
,num
andal
,0fh
oral
,30h
mov[di],al
incdi
movbyteptr [di],『h
』
incdi
movbyteptr [di]
,『$』
leadx,buf
movah,9
int21h
movah,4ch
int21h
cends
endbegin
五、編寫程式:(
25分) 1
、編寫程式,求出首位址為
data的10
個字陣列中的最小奇數,並存入
ax中。 2
、編寫程式計算:
s<
—(a+b
)—2*
(aandb)
3、從鍵盤輸入一系列字元,以『
$』 為結束符,然後對其中的數字字元計數,並顯示結果。
組合語言習題十四
1 mov al,2 將2送入al,宣告埠將要被通訊 out 70h,al 向70h埠中寫入al的值 in al,71h 從71埠中讀出資料放到al中 2 從這裡我們可以看出,out 70h,al像是乙個呼叫宣告,表示要呼叫哪乙個埠,然後再通過71h in就是讀出,out就是寫入 assume cs...
ADS組合語言2
4.2 組合語言的語句格式 arm thumb 組合語言的語句格式為 在組合語言程式設計中,每一條指令的助記符可以全部用大寫 或全部用小寫,但不用許在一條指令中大 小寫混用。同時,如果一條語句太長,可將該長語句分為若干行來書寫,在行的末尾用 表示下一行與本行為同一條語句。4.2.1 在組合語言程式中...
組合語言 手記2
彙編由以下3類組成 1 彙編指令 機器碼的助記符 2 偽指令 由編譯器執行 3 其他符號 由編譯器識別 組合語言的核心是彙編指令,它決定了組合語言的特性 cpu是計算機的核心部件,它控制整個計算機的運作並進行運算,要想讓乙個cpu工作,就必須提供指令和資料。指令和資料在儲存器中存放,也就是平時所說的...