1、
程式設計題:
設vary
中有一組8
位的符號數,程式設計統計其中
正數、負數、零的個數,分別存 vm、vn、vk變數中。
[試題解析] 分析:設定此陣列的元素勻為位元組資料,則陣列vary中的資料個數用cnt equ $-vary求出,則迴圈次數為cnt次。在程式中,要將cnt的值送入cx中。將陣列vary中元素挨個與0比較,利用狀態標誌暫存器中的zf位求出零的個數,利用sf位求出正、負數的個數。
具體程式:
stack segment para stack
dw 20h dup(0)
stack ends
data segment
vary db 23h,78h,56h,0abh,00h,0cdh,59h,14h,98h,0efh,00h,0c0h
cnt equ $-vary
vm db ?
vn db ?
vk db ?
data ends
code segment
assume cs:code,ds:data,ss:stack
start: mov ax,data
mov ds,ax
mov bx,0
mov dl,0
lea si,vary
mov cx,cnt
lop1:
cmp byte ptr[si],0
je zero
js lop2
inc bh
jmp next
lop2:
inc bl
jmp next
zero:
inc dl
next:
inc si
loop lop1
mov vm,bh
mov vn,bl
mov vk,dl
mov ah,4ch
int 21h
code ends
end start
2、程式設計題:
判斷方程ax2
+bx+c=0
是否有實根。若有實根,則將位元組變數
tag置
1,否則置
0。假設a、
b、c均為位元組變數,資料範圍為
-128~127
。[試題解析] 分析:二元一次方程有根的條件是b2-4*a*c>=0。依據題意,先計算出b2和4*a*c,然後比較兩者大小,根據比較結果給tag賦不同的值。
3、程式設計題:
設在資料段中定義有三個變數
x,y,z
,其中x
的值為8,y
的值為9
,請利用算術移位指令編寫程式,計算出下式的值(假設乘積的結果只有低
16位有效)。
[試題解析] (1)移位運算中,左移一位相當於乘2操作,右移一位相當於除2操作; (2)算術移位適合於有符號數的運算,邏輯移位適用於無符號數的運算。
4、程式設計題:程式設計實現:
s=1+2+3+
……+100
,要求計算後的結果存放在變數s裡。
[試題解析] 迴圈控制可以分為:計數迴圈和條件迴圈。作為計數迴圈,一般是指迴圈次數是已知的情況,在程式設計的的迴圈時,先應將迴圈次數送入計數器cx中進行計數,在迴圈體中使用loop等迴圈指令。當然,也可以通過其他方式來進行,如cx←cx-1,jnz 等結合實現。
5、程式設計題:已知有兩個雙字長度的數
data1
和data2
,要求用8086組合語言程式設計實現兩數相加,並將結果存放在
result
中,採用高位址優先儲存結果(如
1234h
,5678h
表示56781234h
)。程式的資料段部分已給出,要求補充完整程式,實現上述要求的功能。
[試題解析] 首先進行題目分析: (1)如何存放多精度數? 多精度數的存放有兩種方式,高位址優先(如1234h,5678h表示56781234h)和低位址優先(如1234h,5678h表示12345678h),具體的存放方式由使用者根據自己的習慣選擇。在這裡慮我們使用了高位址優先的儲存方式。 (2)分析程式設計 由於組合語言的add,adc,sub,sbb指令都不支援兩個運算元都是儲存器運算元的情況,因此將乙個運算元的低字放到暫存器ax中,高字放到暫存器dx中分別完成高字部分的加法,高字部分的帶進製加法。
計算機組成原理 Chapter1 複習題
第一章複習題 1 馮 諾依曼機工作的基本方式的特點是 b a 多指令流單資料流 b 按位址訪問並順序執行指令 c 堆疊操作 d 存貯器按內容選擇位址 2 完整的計算機應包括 d a 運算器 儲存器 控制器 b 外部裝置和主機 c 主機和實用程式 d 配套的硬體裝置和軟體系統 3 八位微型計算機中乘除...
計算機組成原理程式設計題
程式設計實現 s 1 2 3 100 要求計算後的結果存放在變數s裡。data segment s dw data ends code segment assume cs code,ds data start mov ax,data mov ds,ax mov cx,100 mov ax,0h mo...
計算機組成原理複習
模型機資料通路 指令3.取指 m db ir 4.取數 reg間址 r b alu 移位暫存器 內匯流排 mar 位址x pc pc a alu 移位暫存器 內匯流排 mar ab m m db mdr b alu 移位暫存器 內匯流排 c c b 同時r a 一起打入alu 移位暫存器 內匯流排 ...