当前位置: 代码迷 >> 汇编语言 >> 【8085】请问一下关于一段汇编语言的功能
  详细解决方案

【8085】请问一下关于一段汇编语言的功能

热度:517   发布时间:2016-05-02 05:03:32.0
【8085】请教一下关于一段汇编语言的功能
本帖最后由 yundemuren 于 2012-12-05 16:52:11 编辑
简单说明一下背景:汇编实现函数的拟合操作之前,将自变量和常数调用下面的预处理MLBLIN子程序,实现有返回值(BC)找到函数拟合用的数据表格的所在拟合范围的位置。
其中,DE=自变量
      HL=80H(抛物线函数拟合) HL=10H(线性函数拟合)

; FIXED POINT MULTIPLY

; FUNCTION OF MLB:: 
;    ENTRY : (D,E)=X -- MULTIPLICAND
;            (H,L)=Y -- MULTIPLICATOR 
;    EXIT  : (B,C,D,E)=Z -- PRODUCT 
;            BIT 7 OF D IS ALWAYS FIXED TO 0

; 2'S COMPLEMENT EXPRESSION DATA MULTIPLICATION 

MLBLIN: LXI B,0 
MLBLNS: MVI A,16
ANA A 
PUSH PSW 
MOV A,E 
MLBLN1: RAR
RAR
ANI  0C0H 
JPE  MLBLN2
       PUSH H 
       CM   CMPLH
       DAD  B 
       XTHL 
       POP  B 
MLBLN2:  POP  PSW 
       DCR  A 
       PUSH PSW 
       CNZ  SRD2
       MOV  A,D 
       RAR
       MOV  D,A 
       MOV  A,E 
       RAR
       MOV  E,A 
       JNZ  MLBLN1
       POP  PSW 
       RET
;====================================================== 
; 2'S COMPLEMENT OF H&L 

;    ENTRY : (H,L)= X 
;    EXIT  : (H,L)=-X 

; 2'S COMPLEMENT OF X 
;======================================================
CMPLH: MOV  A,H 
CMA
MOV  H,A 
MOV  A,L 
CMA
MOV  L,A 
INX  H 
RET
;======================================================
;  SHIFT RIGHT

; ENTRY: (B,C)=X --ORIGINAL DATA
; EXIT : (B,C)=X/2
;
;  SHIFT 2'S COMPLEMENT EXPRESSION DATA
;    RIGHT 1 BIT
;======================================================
SRD2: MOV A,B
RLC
RAR
RAR
MOV B,A
MOV A,C
RAR
MOV C,A
RET

------解决方案--------------------
对函数拟合不了解。帮顶。
  相关解决方案