九九乘法表

程序里每一个结果都是通过累加求得,输出每一个算式,显示出来。

程序中,BH存储被乘数,BL存储乘数,CX存储结果。

 1         TITLE    X99
 2 DATA    SEGMENT
 3 VA    DB ?,'*',?,'=',?,?,?,?,'$'
 4 DATA    ENDS
 5 
 6 STACK1  SEGMENT  STACK
 7   DW    20H  DUP(0)
 8 STACK1  ENDS
 9 
10 CODE    SEGMENT
11     ASSUME CS:CODE,DS:DATA,SS:STACK1
12 START:    MOV    AX,DATA
13     MOV    DS,AX        ;DS装入
14     MOV    BH,31H
15     MOV    BL,31H
16 J0:    MOV    CL,30H
17     MOV    CH,30H        ;初始化被乘数,乘数以及结果
18 J1:    CMP    BH,BL        ;判断是否到一行的最后一个算式
19     JZ    J2
20     MOV    VA,BH
21     MOV    VA[2],BL
22     ADD    CL,BL        ;用累加代替乘法
23     MOV    AX,CX        ;存储上次计算的结果
24     AAA            ;BCD码校正
25     ADD    AL,30H
26     MOV    CX,AX
27     MOV    VA[4],AH
28     MOV    VA[5],AL
29     MOV    VA[6],20H    ;空格
30     MOV    VA[7],20H
31     INC    BH
32     MOV    DX,OFFSET VA    ;输出字符串(9号中断)
33     MOV    AH,09H        
34     INT    21H
35     JMP    J1
36 J2:    MOV    VA,BH
37     MOV    VA[2],BL
38     ADD    CL,BL
39     MOV    AX,CX
40     AAA
41     ADD    AL,30H
42     MOV    CX,AX
43     MOV    VA[4],AH
44     MOV    VA[5],AL
45     MOV    VA[6],0AH
46     MOV    VA[7],0DH
47     MOV    DX,OFFSET VA
48     MOV    AH,9H
49     INT    21H        
50     CMP    BL,39H
51     JZ    J3
52     INC    BL
53     MOV    BH,31H
54     JMP    J0
55 J3:    MOV    AH,4CH        ;return DOS
56     INT    21H
57 CODE    ENDS
58     END    START
59     
View Code

 

posted @ 2014-12-11 11:50  jiu~  阅读(343)  评论(0编辑  收藏  举报