當前位置:編程學習大全網 - 源碼下載 - 01100源代碼。

01100源代碼。

這是我自己項目裏的多字節運算子程序。

有加法、除法、減法和乘法。讓我們做壹個更簡單的類比。

註意事項寫的很詳細,出入口地址也有標註。

;數據附加子程序

;攜帶11,13,15。12、14、16為加法結果,分別為低8位、中8位、高8位。

;vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

ADDP: MOV 11H,#00H

MOV 12H,#00H

MOV R0,# 20H& lt-“20”起始位置

MOV 12H,@R0

回路1: MOV A,R0

添加壹個,#03H

MOV R1,A

MOV A,12H

添加壹個,@R1

JNB PSW.7,SI1

INC 11H

矽1: MOV 12H

MOV A,R1

MOV R0,A

CJNE R0,#4DH,loop 1;& lt-"4d "終止變量,楊設計

MOV A,#00H

MOV 13H,#00H

MOV 14H,#00H

MOV R0,# 21H;& lt-“21”起始位置

MOV 14H,@R0

MOV A,14H

加壹個,11H

MOV 14H,A

環路2: MOV A,R0

添加壹個,#03H

MOV R1,A

MOV A,14H

添加壹個,@R1

JNB PSW.7,SI2

INC 13H

SI2: MOV 14H

MOV A,R1

MOV R0,A

CJNE R0,#4EH,LOOP2& lt-“4e”終止變量

MOV A,#00H

MOV 15H,#00H

MOV 16H,#00H

MOV R0,# 22H& lt-“22”起始位置

MOV 15H,@R0

MOV A,16H

加壹個,13H

MOV 16H,A

第三圈:MOV A,R0

添加壹個,#03H

MOV R1,A

MOV A,16H

添加壹個,@R1

JNB PSW.7,SI3

INC 15H

MOV 16H,A

MOV A,R1

MOV R0,A

CJNE R0,#4FH,LOOP3& lt-“4f”終止自定義位置變量,

MOV A,#00H

;除法子程序

;支持32位被除數、24位除數和任意位長的除法。

;分頻器需要根據定時和累加組* * * *的個數進行預置,這個值也可以通過調整調試精度來調整* * *!!!!!!!!

;17H、18H和19H是除數輸入端口,32H、33H、34H和35H是運算結果。

;vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

SETDIV: MOV P1,#0FFH

JNB P1.1,MEAS _ F;當P1.1時,設置1(高)用於速度測量,設置0(低)用於頻率測量。

MEAS_V: MOV R2,# 11111111B;* * *速度測量* * * *

MOV R3,# 11101000 b;紅利R2-R5,轉移至22H-25H進行置換處理。

MOV R4,# 00100101B;* *分頻器是壹個固定值,前端零的數量是已知的。

MOV R5,# 00001011B;設被除數的前零個數為y,被除數的前零個數計為x(R0),後循環數為(32-y)-(24-x) = (8-y)+x。

JMP星報

MEAS_F: MOV R2,# 00111010B;* * *頻率測量* * *楊設計

MOV R3,# 01100110B;紅利R2-R5,轉移至22H-25H進行置換處理。

MOV R4,# 00111110B;* *分頻器是壹個固定值,前端零的數量是已知的。

MOV R5,# 10000111B;設被除數的前零個數為y,被除數的前零個數計為x(R0),後循環數為(32-y)-(24-x) = (8-y)+x。

JMP星報

MOV 22H,R2

MOV 23H,R3

R4 MOV·24H

MOV 25H,R5

MOV 17H,16H;除法器17H-19H,加載12H、14H、16H的累加結果。

MOV 18H,14H

MOV 19H,12H

MOV 32H,# 00H結果輸出位32H-35H最初設置為0楊YF設計。

MOV 33H,#00H

MOV 34H,#00H

MOV 35H,#00H

MOV R0,#00H

MOV R1,#00H

MOV 10H,#00H

CHECKFRONT: CLR C

MOV A,17H;檢查高除數中是否有空格0。

RLC A

JNC MOVFRONT

JMP循環計數

MOVFRONT:公司R0

CLR C;除數高空位為0時向前移動。

MOV A,19H;1)

RLC A

MOV 19H,A

MOV A,18H;2)

RLC A

MOV 18H,A

MOV A,17H;3)

RLC A

MOV 17H,A

JMP檢查站

循環計數:MOV A,# 09H

添加A,R0

MOV 10H,A;後循環數R0

法官助理:MOV·PSW,#00H

MOV A,R1

CJNE A,10H,JMP0

JMP結果

JMP0: MOV A,22H

MOV C,ACC.7******!!!!

MOV F0,C

CLR C;******!!!!

SUBB A,17H

JC CANOTSUB泛濫

JNZ jmp 1;當ACC!=#00H然後跳

MOV A,23H

CLR C

SUBB A,18H

JC CANOTSUB

jmp 1:JNZ jmp 2;當ACC!=#00H然後跳

24H MOV

CLR C

SUBB A,19H

JC CANOTSUB

JMP2: JMP分部

卡諾蘇布:JNB F0,TURN1

JB F0,MOVDR

JMP分部

子部分:CLR C

MOV A,25H

JNB PSW.1,JMPSP1

JB ACC.7,JMPSP1

SETB議會7

MOV A,19H

公司A

MOV 19H,A

jmpsp 1:24H MOV A

SUBB A,19H

MOV·24H

MOV A,23H

SUBB A,18H

MOV 23H,A

MOV A,22H

SUBB A,17H

MOV 22H,A

ACALL SETCY_1

JB B.0,MOVDL除數通過條件右移然後左移來恢復。

LJMP法官小組

MOVDR: SETB B.0

CLR C;除數向右移動壹位。

MOV A,17H;1)

RRC A

MOV 17H,A

MOV A,18H;2)

RRC A

MOV 18H,A

MOV A,19H;3)

RRC A

MOV 19H,A

MOV PSW.1,C;在除數的末尾,將其移出並臨時存儲到F1。

呼叫設置_0

JMP分部

MOVDL: MOV C,PSW.1

MOV A,19H;1)

RLC A

MOV 19H,A

MOV A,18H;2)

RLC A

MOV 18H,A

MOV A,17H;3)

RLC A

MOV 17H,A

CLR B.0

SETB B.1

JMP法官

TURN1:時鐘C

MOV A,25H1)

RLC A

MOV 25H,A

MOV A,24H;2)

RLC A

MOV·24H

MOV A,23H3)

RLC A

MOV 23H,A

MOV A,22H4)

RLC A

MOV 22H,A

JB B.1,JMPCALLSC0

呼叫設置_0

JMPCALLSC0: CLR B.1

JMP法官

SETCY_0: JB B.2,jmpse 1;B.2第壹次確定是否設置1,如果是則忽略壹次。

INC r 1;計數次數

CLR C;以0移動。

MOV A,35H

RLC A

MOV 35H,A;輸出地址32H-35H

MOV A,34H

RLC A

MOV 34H A

MOV A,33H

RLC A

MOV 33H,A

MOV A,32H

RLC A

MOV 32H,A

CLR C

JMPSE1: CLR B.2

浸水使柔軟

SETCY _ 1:INC r 1;數遍楊的設計

SETB C;移入位1

MOV A,35H

RLC A

MOV 35H,A;輸出地址32H-35H

MOV A,34H

RLC A

MOV 34H A

MOV A,33H

RLC A

MOV 33H,A

MOV A,32H

RLC A

MOV 32H,A

CLR C

SETB灣2

浸水使柔軟

result div:;不能刪除楊的設計

  • 上一篇:北京5.72萬個新能源指標全部放出,搖號難度再次被刷新!
  • 下一篇:黃金源代碼
  • copyright 2024編程學習大全網