組合語言16位除法子程式,怎麼讀不懂啊用數帶進去算

時間 2021-05-06 01:18:48

1樓:匿名使用者

div0:mov dptr,#0 ;除法子程式

div1:clr c

mov a,suml ;被除數低位送a

subb a,73h ;減除數低位

mov b,a ;餘數送b

mov a,sumh ;被除數高位送a

subb a,72h ;減除數高位

jc div2 ;有借位則退出(已經運算完成)

inc dptr ;dptr加1

mov sumh,a ;被除數減完本次餘數回送(高位)

mov suml,b ;被除數減完本次餘數回送(低位)

sjmp div1 ;轉移到div1繼續

div2:mov a,dpl ;結果送a

ret;可以看出這是一個利用減法來計算除法的方法,被除數不斷地減除數直到減到不能再減,沒減一次,結果加1,這裡結果先放到dptr裡面,最後送給a返回。所以,結果要小於256才可以得到正確結果。

51微控制器組合語言做16位除法

2樓:大別山的蝸牛

;雙位元組無符號除法程式 (r5r2r3r4/r6r7)=(r2)r3r4 餘數r6r7

;入口: r5,r2,r3,r4,r6,r7;佔用資源: acc,b,f0

;堆疊需求: 4位元組

;出口: (r2),r3,r4,r6,r7,ovndiv42 : mov a,r1

push a

mov b,#00h

ndv421 : mov a,r2

clr c

subb a,r7

mov r1,a

mov a,r5

subb a,r6

jc ndv422

mov r5,a

mov a,r1

mov r2,a

inc b

sjmp ndv421

ndv422 : push b

mov b,#10h

ndv423 : clr c

mov a,r4

rlc a

mov r4,a

mov a,r3

rlc a

mov r3,a

mov a,r2

rlc a

mov r2,a

xch a,r5

rlc a

xch a,r5

mov f0,c

clr c

subb a,r7

mov r1,a

mov a,r5

subb a,r6

jb f0,ncv424

jc ndv425

ncv424 : mov r5,a

mov a,r1

mov r2,a

inc r4

ndv425 : djnz b,ndv423pop a

clr ov

jnz ndv426

setb ov

ndv426 : xch a,r2

mov r7,a

mov a,r5

mov r6,a

pop a

mov r1,aret

3樓:

可用16位數減法來實現的,思路:先判斷被除數》=除數,16位被除數-16位除數

再判斷被除數》=除數,16位被除數-16位除數,如此迴圈,直到被除數 《除數結束

4樓:匿名使用者

;r2r3/r6r7=r4r5 (cy=1: over)divd: clr c

mov r4,#0

mov r5,#0

divd0:

mov a,r3

subb a,r7

mov a,r2

subb a,r6

jc divd2

inc r5

mov a,r5

jnz divd1

inc r4

divd1: sjmp divd

divd2:ret

彙編程式設計中用jnz後會自動跳到程式開始,請大神幫我看看這個程式**有問題,謝謝

5樓:加信

假設,ax=3a4bh,顯示十進位制數 14923。

並不是顯示其 ascii 碼。

程式如下:

assumecs:cc,ds:qwer

;-------------------------------------

qwersegment;資料段

datadb'$'

qwerends

;-------------------------------------

ccsegment

start:

movax,qwer

movds,ax;資料段

movax,3a4bh

leabx,data

movcx,10

lp:movdx,0

divcx

ordl,'0'

mov[bx+4],dl

decbx

cmpax,0

jnzlp

movah,9

leadx,data

int21h

exit:

movax,4c00h;退出程式

int21h

;-------------------------------------

ccends

顯示:14923。

大二彙編題,實在做不來啊,有沒有大神給個程式,最好能有備註,謝謝了。 5

6樓:歸臻

沒點誠意,分都沒

用「穿軸法」解高次不等式——「奇穿,

dptr減一怎麼程式設計?

7樓:機關快

在51微控制器組合語言中dptr只有加1指令即:inc dptr,減1指令是沒有的,所以需要使用者自己來編制,以下是具體**:

dptrdec:

clr c

mov a,dpl

subb a,#1

mov dpl,a

mov a,dph

subb a,#0

mov dph,a

ret程式設計是編寫程式的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式執行,並最終得到相應結果的過程。

為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是程式設計。

程式設計:設計具備邏輯流動作用的一種「可控體系」【注:程式設計不一定是針對計算機程式而言的,針對具備邏輯計算力的體系,都可以算程式設計。】

如何不用除法指令用匯編實現兩個16位數相除

8樓:匿名使用者

舉個列子40 / 4 ,這個可以這樣理解,40個東西,每份4個,一共可以分成多少份,然後我們可以用匯編指令分東西【sub a,4】,然後用 eax 記錄 分了多少次,【inc eax】 直到a為0,表明分完了~,eax裡的值就是相除的結果,理解了嘛?~

下面 16位的 浮點乘法運算的 微控制器彙編程式,求註釋,怎麼看不懂啊。浮點運算時候具體怎麼實現的?採納

9樓:匿名使用者

微控制器很多沒有浮點暫存器的,那怎麼進行浮點運算呢?

簡單,如 61.5 => 615 => 02 67(十六進位制)mov r7,#02

mov r6,#67

就實現了 61.5 這個浮點數,當然,繼續進行其他運算時別忘記了小數點。

組合語言問題,組合語言問題

蜜蜂小玉米 assume cs code assume ds data data segment db i love you.data ends code segment start mov ax,data mov ds,ax mov bx,0 s0 check mov al,ds bx cmp a...

組合語言程式設計,組合語言程式設計

org 0000h ljmp main org 000bh ljmp t0int org 0030h main mov tmod,01h mov th0,high 65536 5000 mov tl0,low 65536 5000 setb tr0 setb et0 setb ea clr a sj...

組合語言和反彙編的區別,學習組合語言有什麼好處

反彙編是分析已經有的程式的過程。就是看這些程式的彙編 看看這些程式是怎麼執行的。因為是逆向過程,所以加了反字。學習組合語言有什麼好處 組合語言更解決計算機的底層,彙編源程式執行效率高。一些高階語言都是先轉成彙編然後再轉成機器語言的。瞭解彙編可以幫組更好的瞭解高階語言,設計演算法啥的。如果你要是搞硬體...