組合語言中幾道簡單的題目,幾道簡單的微控制器組合語言題

2022-02-18 17:32:46 字數 1111 閱讀 1201

1樓:

一、(1)c:dw定義的是一個字(兩個位元組),故預留2*50=100個位元組

(2)d:in的功能是從外部裝置讀入資料

(3)a:segment/ends定義組合語言源程式邏輯段(4)b:實體地址=段地址(左移4位(二進位制))+偏移地址二1.

mov ax,ds ;通過ax把資料段地址mov bx,ax ;送到bx中mov si,#0000h ;將指標指向偏移地址0000hstart:mov bx[si],#00h ;向bx[si]指向單元置零

inc si ;指標加一cmp si,#7d1h ;把si和2001作比較jne start ;不相等則轉到start2. mov cl,#4h ;把迴圈次數賦值給clrol al,cl ;將al中的資料依次迴圈左移四位;即將al暫存器中的高4位與低4位交換

2樓:new妞寧

樓上的很對 不必多說

幾道簡單的微控制器組合語言題

3樓:江西經濟觀察員

隨便找幾本書上面都有

建議你多看看書 ok!1

4樓:匿名使用者

mov ax,bx

這些題在清華版的組合語言習題裡有答案

求教一道簡單的組合語言題目,急?

5樓:專注51微控制器

qh:mov r0,#60h

mov r2,#10

mov 6ah,#0

mov 6bh,#0

loop:

mov a,@r0

jnb acc.7,lp1

cpl a

inc a

lp1:

lcall sqrt

add a,6ah

xch a,6ah

clr a

addc a,6bh

xch a,6bh

inc r0

djnz r2,loop

retsqrt:

mov b,a

mul abret

組合語言中的push的用法,組合語言中的PUSH的用法

push的操作過程是 sp sp 2,sp oprd 即先修改堆疊指標sp 壓入時為自動減2 然後,將指定 的運算元送入新的棧頂位置。此處的 sp oprd,也可以理解為 ss 16 sp oprd 或 ss sp oprd 示例 push dx push bp push cs push data1...

組合語言資料段問題,組合語言中定義的資料段的問題

如果1000h只是偏移地址,段地址由系統指定,可用下面方法 data segment org 1000h 用來指定下面資料或指令的偏移地址從該值開始 db 38h,4ah,2bh,80h,64h,0a7h,0bbh,9ch,83h,0f6h data ends 如果1000h是實體地址,則要先把它轉...

組合語言中test的用法,彙編中的TEST指令

test對兩個引數 目標,源 執行and邏輯操作,並根據結果設定標誌暫存器,結果本身不會儲存。test ax,bx 與 and ax,bx 命令有相同效果,只是test指令不改變ax和bx的內容,而and指令會把結果儲存到ax中。test命令將兩個運算元進行邏輯與運算,並根據運算結果設定相關的標誌位...