-
main: mov sp,#50h mov dptr,#tab;讀入式晶元指標 MOV 30H, DPL; 存起來; 堆疊低 8 位 MOV 31H、DPH ; 堆疊高度 8 位 mov 32h、30h; 然後記錄指標,並留給判斷移動了多少位。 mov 3h,31h ;3H記錄字型資料公司3H的高階位址; 3 小時高階位址 +5 表示 5x256 列的數量與資料一樣多。
rol: mov r2,#01h;設定掃瞄次數 ini1: mov dpl, 30h; 此部分是對 mov dph,31h mov r4、32 mov r3、0 lop1 p1,r3 clr a movc a,@a+dptr mov p0,a inc dptr clr a movc a,@a+dptr mov p2,a inc dptr cal delay inc r3 djnz r4,lop1 djnz r2,ini1 的 32 列的掃瞄; 這個保留的掃瞄次數可以用速度 mov dpl,3....
-
斧頭是暫存器嗎! 結果是被放在乙個位址裡!
-
這個程式我第二次看了,鬱悶,為什麼王爽書中的定義這麼彆扭——汗
-
答案:bx=9830h
v2 變數定義了兩個字,第乙個是 3367h,第二個是 3598h 這兩個字在記憶體中占用 4 個位元組:
v2 67h(第乙個字的低位位元組)。
v2+1 33h (第乙個字的高位元組) v2+2 98h (第二個字的低位元組) v2+3 35h (第二個字的高位元組) mov al, v1
你不需要解釋太多,對吧?
執行後,al = 03h
mov bx, v2+1
這是從 v2+1 位址中獲取乙個單詞。
該字的低位位元組在 v2+1 33h,高位位元組在 v2+2 98h
因此,在指令執行後,bx= 9833h
sub bl, al
從 BL 中的 33h 中減去 03h,並將 BL 中的內容更改為 30h,因為 BH 仍然是 98h,因此 BX = 9830H
code segment ;區段定義開始。
assume cs:code ;程式碼段被指定為 ** 段。 >>>More
首先ajmp start是無條件跳轉,是直接跳轉到start,中間的中斷條目和偽指令在主程式第一次正常執行時不執行,而是全部組裝成指令**存在於rom中,但是在執行時被跳過, 但是當它們組裝起來時,它們仍然存在。 >>>More
我覺得沒關係,現在系統多是用C語言寫的,但是一開始可能用C語言寫的,然後系統比較大,很難改成C++,因為系統比較大,所以我覺得用C++寫就好了,好控制,當然, 速度是要打折扣的,但穩定性和靈活性應該更重要,畢竟慢總比不可修改和舊的崩潰好,C++的速度也不比C差多少,甚至在某些地方更快,因為現在C++的開發比CA快得多 Bjarne Stroustrup說, 學習 C 只是為了處理被當作遺產的**,呵呵。我想知道這是否有點過分? >>>More