計算機組成原理程式設計題複習題

2021-08-21 01:14:28 字數 3167 閱讀 9142

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 移位暫存器 內匯流排 ...