王爽組合語言檢測點,王爽組合語言檢測點

2022-07-06 17:01:53 字數 3517 閱讀 3735

1樓:雷哥談安全生產標準化

62627=f4a3h

1.mov ax,62627 ax=f4a3 ;給ax賦值f4a3,ah=f4 al=a3

2.mov ah,31h ax=31a3 ;給ah賦值31,al不變,

3.mov al,23h ax=3123 ;給al賦值23,ah不變

4.add ax,ax ax=6246 ;兩個ax相加

5.mov bx,826ch bx=826c ;給bx賦值826c

6.mov cx,ax cx=6246 ;用ax的值給cx賦值,此時ax=6246 cx=6246

7.mov ax,bx ax=826c ;用bx的值給ax賦值,此時,bx=826c ax=826c

8.add ax,bx ax=04d8 ;將bx的值加到ax的值

9.mov al,bh ax=0482 ;用bh的值(82)給al賦值

10.mov ah,bl ax=6c82 ;用bl的值(6c)給ah賦值

11.add ah,ah ax=d882 ;ah的值相加,al的值不變 6c+6c=d8

12.add al,6 ax=d888 ;al的值加6,ah的值不變

13.add al,al ax=d810 ;al的值和al的值相加,ah的值不變,88+88=110h,但是發生在低位,不能進位,所以ah的值不變,也就是說,在這裡ax=d910是錯誤的

14.mov ax,cx ax=6246 ;用cx的值給ax進行賦值

好了,,

2樓:

(1)寫出每條彙編指令執行後相關暫存器中的值。

第一空:f4a3h ;<--把十進位制數62627變成十六進位制就是結果f4a3h

第二空:31a3h ;<--ah=31h,al不變,所以ax=31a3h

第三空:3123h ;<--al=23h,ah不變,所以ax=3123h

第四空:6246h ;<--ax=ax+ax=3123h+3123h=6246h,用計算器算一下結果就出來了

第五空:826ch ;<--bx=826ch,ax不變

第六空:6246h ;<--cx=ax=6246h

第七空:826ch ;<--ax=bx=826ch

第八空:04d8h ;<--ax=ax+bx=826ch+826ch=04d8h,0前面還有個1,但是ax放不下,所以丟棄,16位暫存器只能放下四位十六進位制數

第九空:0482h ;<--al=bh=82h,ah不變

第十空:6c82h ;<--ah=bl=6ch,al不變

第十一空:d882h ;<--ah=ah+ah=6ch+6ch=d8h,al不變

第十二空:d888h ;<--al=al+6=82h+6=88h,ah不變

第十三空:d810h ;<--al=al+al=88h+88h=10h,ah不變,結果是110h但al的大小隻有8位二進位制位,能放下的最大數為ffh,所以高位丟棄,只保留低兩位

第十四空:6246h ;<--ax=cx=6246h

3樓:匿名使用者

mov ax,62627 ax=

這是十進位制,儲存記憶體單中需要轉16進位制即:f4a3mov ah,31h ax=

ax表示一個字(2個位元組大小)ah,表示高8位,al表示低8位。前面ax=f4a3,f4表示高8位,a3表示低8位,把31h轉移到ah,即ax=31a3h

mov al,23h ax=同理ax=3123h

如果把大於16位轉到儲存器,則保留後面4位mov ax,1ffffh

ax=ffffh

王爽組合語言的檢測點 12.1

4樓:匿名使用者

8086系統在儲存器的最低1kb區域(00000h~003ffh)建立一箇中斷向量表,存放256箇中斷型別的中斷向量。這1024個單元被分成256組,每組包括4個位元組單元,儲存一箇中斷向量的段基址和段內偏移地址,高2個位元組用於存放段基址,低兩個位元組用於存放段內偏移地址。

8086系統把中斷向量表中的中斷明確分為3個部份:

1.專用中斷:型別號0~4(所以中斷不是從1開始,而是0)

2.系統備用中斷:型別號5~31h

3.使用者中斷:型別號32h~0ffh

檢測點12.1分析:

計算中斷服務入口地址的方法是:從記憶體地址為中斷型別碼*4和中斷型別碼*4+2的兩個字單元中讀取中斷處理過程的入口地址設定ip和cs

0000:0000 68 10 a7 00 8b 01 70 00-16 00 9d 03 8b 01 70 00

段基址:偏移地址 0 1 2 3 4 5 6 7 8 - 9 10 11 12 13 14 15(16個bytes,「-」為分隔符,每8個bytes分隔一次)

0號:00a7:1068

1號:0070:108b

2號:039d:0016

3號:0070:108b

3號:ip讀取3*4=12的兩個bytes就是12和13兩個bytes,cs讀取3*4+2=14的兩個bytes就是14和15兩個bytes。

希望能對你有所幫助!

組合語言 王爽第二版檢測點6.1(2) 麻煩幫我對每條指令註釋一下,特別是那迴圈。 謝謝幫忙

5樓:匿名使用者

dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

dw 0,0,0,0,0,0,0,0,0,0mov sp,1ah ;只有這裡 1ah 就是 1ah=26=8*2+10

其實自己看看就知道了。

王爽 組合語言第二版 的檢測點3.2

6樓:匿名使用者

逆序當然是對稱的。

這個sp=0,是因為後面全是pop,就是把10000h~1000fh當成棧了,現在是滿棧的情況,自然sp指向棧頂,也就是sp=0.然後依次出棧,從[e]往[0]填,就成逆序了。

7樓:

pop出棧,sp自加2

sp指向始終為棧頂,而不是用sp來設定棧的大小,想讓10000h~1000fh地址單元中的資料出棧,代表此時棧中有資料,而不是空棧,棧頂在0h

8樓:匿名使用者

2的16次方。64k。8086的段內轉移最大值。

實地址模式。

懂組合語言的進,組合語言高手進

很簡單的程式。輸入的數字,是acscii碼形式的,要減去30h,才是數字形式的數字。程式中,兩個輸入數字,全都減去了30h,然後進行了加法,結果存入ral單元。輸出顯示,要先把數字,變換成ascii碼,僅僅加30h,是不全面的,數字大於9,就要加37h,這些可以去查ascii表,求得證明。dseg ...

組合語言程式設計

一 mov di,0000h 讓ds di指向字串mov cx,n 設定迴圈次數mov al,a 設定掃描的字母cld 設定df為0repne scasb 開始掃描jz found 找到則跳轉mov di,00h 沒找到則讓di指向字串開頭found mov bx,di 讓bx記錄a所在位置hlt ...

組合語言lea是什麼意思,組合語言 lea 是什麼意思?

lea是微機8086 8088系列的一條bai指令,取自du 英語load effective address 取zhi有效地址,也就是取偏dao移地回址。lea指令將儲存器操答作數mem的4位16進位制偏移地址送到指定的暫存器。這裡,源運算元必須是儲存器運算元,目標運算元必須是16位通用暫存器。因...