English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問一下像這種題目我該怎麼做呢?
寫出機械碼
BASE 10H
9DH: LDB #10H
100H: LDA 65H
103H: STCH 910H, X
106H: +STA @12345, X
可否請會的大大指導一下要怎麼做謝謝!感恩!

2006-11-10 10:36:36 · 2 個解答 · 發問者 傑克船長 3 in 電腦與網際網路 程式設計

謝謝意見欄的大大.......基本上我們的老師大人........有點讓人一言難盡所以還請大大不吝賜教!感恩

2006-11-10 13:46:39 · update #1

是的 我們是用貝殼書!
這個是我們老師小考的題目說,
可我寫錯了,我比較有問題的是 +STA @12345, X
這行....
考完後老師並沒有訂正,
所以我不太會請大大不吝賜教

2006-11-11 16:48:33 · update #2

2 個解答

SIC/XE 組合語言??
只能建議你在上「系統程式」課程時要注意聽老師講課…
SIC Compiler 原始碼(參考用):「http://tw.myblog.yahoo.com/mjshya/article?mid=50&prev=86&next=18&l=f&fid=6」

2006-11-10 20:17:00 補充:
你的課本是不是用「SYSTEM SOFTWARE」(貝殼書)?
那個問題是課本第幾頁?

2006-11-12 00:14:33 補充:
(1)BASE 10h利用B暫存器記錄10h資料的位址。BASE是虛擬碼,所以無機械碼。(2)格式三(佔三個位元組)運算欄(6位元)+n+i+x+b+p+e+位移量(12位元)9Dh LDB #10hLDB opcode=68h(0110 1000)2(n i x b p e)2=(0 1 0 0 1 0)2#(立即定址法) n=0,i=1x=0相對程式計數器 b=0,p=1TA=(PC)+disp10h=100h+disp, disp=-F0h(-240d)負數用二的補數表示disp=90h(1001 0000)2屬於格式3 e=0因為68h佔8個位元,所以刪除後面2個位元。機械碼:(0110 10 0 1 0 0 1 0 0000 10010000)2等於 692090h(3)100h LDA 65hLDA opcode=00h(0000 0000)2(n i x b p e)2=(1 1 0 0 1 0)2n=i=1 (SIC/XE簡單定址)目標位址=運算元的位置65h=103h+dispdisp=-9Eh負數用二的補數表示disp=E2h(1110 0010)2程式計數器相對定址 b=0,p=1屬於格式3 e=0因為00h佔8個位元,所以刪除後面2個位元。機械碼:(0000 00 1 1 0 0 1 0 0000 1110 0010)2等於 0320E2h(4)103h STCH 910h,XSTCH opcode=54h(0101 0100)2(n i x b p e)2=(1 1 1 1 0 0)2TA=(B)+disp+X由於X=?(暫存器內容未知),假設X=0h(B)=10h910h=10h+disp+0hdisp=900h(1001 0000 0000)2因為54h佔8個位元,所以刪除後面2個位元。機械碼:(0101 01 1 1 1 1 0 0 1001 0000 0000)2等於 57C900h(5)106h +STA @12345,XSTA opcode=0Ch(0000 1100)2(n i x b p e)2=(1 0 1 1 0 1)2"+"符號代表格式4, e=1"@"符號代表間接定址, n=1, i=0由於X=?(暫存器內容未知),假設X=0h(B)=10hTA=(B)+disp+X由於X=?(暫存器內容未知),假設X=0h12345h=10h+disp+0hdisp=12335h因為是格式4,所以地址欄佔20個位元。因為0Ch佔8個位元,所以刪除後面2個位元。機械碼:(0000 11 1 0 1 1 0 1 0001 0010 0011 0011 0101)2等於 0ED12335h

2006-11-12 05:33:18 補充:
上述的答案如果有錯誤,請指正!

2006-11-12 22:25:42 補充:
我是看課本上有相同的指令,依照課本的說明來寫的~

2006-11-11 19:14:33 · answer #1 · answered by Big_John-tw 7 · 0 0

不好意思再請問一下,您是如何知道bp的值的呢?拿第2個來當例子,您是如何知道bp=01的呢?

2006-11-12 15:16:03 · answer #2 · answered by 傑克船長 3 · 0 0

fedest.com, questions and answers