李小球小球 2015-11-23 07:10 采纳率: 0%
浏览 2636

汇编多重循环 九九乘法表

要求用多重循环结构打印梯形结构的九九乘法表,我的思路是外层循环做第一个乘数的INC,里层循环做打印、乘法运算、两个乘数作比较判断是否换行以及第二个乘数的INC。既不知道我的思路能不能实现也不知道我的代码哪里出了问题,求大神指点。图片说明

  • 写回答

1条回答 默认 最新

  • 君莫傲 博客专家认证 2015-11-24 00:53
    关注

    80x86汇编语言编程:在九九乘法表中高亮显示结果

    用汇编语言编程解答:

    编程输出九九乘法表,然后通过键盘输入两个数后,对应位置的乘法运算高亮。

    例如:输入4、5,那么,4 * 5 = 20 的位置高亮;输入 5、8,那么,5 * 8 = 40 的位置高亮。

    题目链接:

    http://zhidao.baidu.com/question/1883296639639871628.html

    做而论道回答如下:(2014-12-10 10:52 网友采纳)

    这个问题,需要用 INT 10H 进行定位显示。

    有了 WINDOWS,DOS 窗口的界面设计,早已淘汰了。

    追问:(2014-12-10 22:26),求大神编写程序啊,我这是作业要交的

    回答:已经编好,太费劲了!

    全部程序如下:

    ;===================================

    ASSUME CS:CC, DS:QW

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

    QW SEGMENT

    HH    DB   0
    
    LL    DB   9
    
    XX    DW   ?
    
    
    
    STR   DB  13, 10
    
    DB  '     00   00   00   00   00   00   00   00   00   00 ', 13, 10, 13, 10
    
    DB  '     00   01   02   03   04   05   06   07   08   09 ', 13, 10, 13, 10
    
    DB  '     00   02   04   06   08   10   12   14   16   18 ', 13, 10, 13, 10
    
    DB  '     00   03   06   09   12   15   18   21   24   27 ', 13, 10, 13, 10
    
    DB  '     00   04   08   12   16   20   24   28   32   36 ', 13, 10, 13, 10
    
    DB  '     00   05   10   15   20   25   30   35   40   45 ', 13, 10, 13, 10
    
    DB  '     00   06   12   18   24   30   36   42   48   54 ', 13, 10, 13, 10
    
    DB  '     00   07   14   21   28   35   42   49   56   63 ', 13, 10, 13, 10
    
    DB  '     00   08   16   24   32   40   48   56   64   72 ', 13, 10, 13, 10
    
    DB  '     00   09   18   27   36   45   54   53   72   81 ', 13, 10, 13, 10
    
    
    
    TIP1  DB  13, 10, '     Please input  n1 : $'
    
    TIP2  DB  13, 10, '     Please input  n2 : $'
    

    QW ENDS

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

    CC SEGMENT

    S_T:

    MOV   AX, QW
    
    MOV   DS, AX
    
    MOV   AX, 0B800H
    
    MOV   ES, AX
    

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

    MOV   AX, 0600H  ;清屏
    
    MOV   BH, 0FH    ;黑底白字
    
    MOV   CX, 0
    
    MOV   DX, 194FH
    
    INT   10H
    
    MOV   AX, 0600H
    
    MOV   BH, 0CEH   ;红底黄字
    
    MOV   CX, 0
    
    MOV   DX, 144FH  ;共21行
    
    INT   10H
    

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

    M_LOOP:

    MOV   AH, 2   ;定位
    
    MOV   BH, 0
    
    MOV   DX, 0
    
    INT   10H
    
    LEA   DX, STR ;显示99表
    
    MOV   AH, 9
    
    INT   21H
    

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

    CALL  IN_X
    
    MOV   HH, DL
    
    LEA   DX, TIP2
    
    MOV   AH, 9
    
    INT   21H
    
    CALL  IN_X
    
    MOV   LL, DL
    

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

    MOV   AL, HH    ;下面计算行号
    
    MOV   AH, 0
    
    ADD   AX, 1
    
    MOV   BX, 160 * 2
    
    MUL   BX
    
    SUB   AX, 160
    
    MOV   XX, AX
    

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

    MOV   AL, LL    ;下面计算列号
    
    MOV   AH, 0
    
    MOV   BX, 10
    
    MUL   BX
    
    ADD   AX, 12
    
    ADD   AX, XX    ;加上行号
    
    MOV   BX, AX
    

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

    MOV   AL, 0F0H        ;2FH
    
    MOV   ES:[BX - 3], AL ;写入属性,改变字符的显示颜色
    
    MOV   ES:[BX - 1], AL
    
    MOV   ES:[BX + 1], AL
    
    MOV   ES:[BX + 3], AL
    

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

    EXIT:

    MOV   AH, 4CH
    
    INT   21H
    

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

    IN_X:

    MOV   AH, 7     ;等待按键
    
    INT   21H       ;AL=ASCII码
    
    CMP   AL, '0'
    
    JB    IN_X
    
    CMP   AL, '9'
    
    JA    IN_X
    
    MOV   DL, AL
    
    MOV   AH, 2
    
    INT   21H
    
    AND   DL, 0FH
    
    RET
    

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

    CC ENDS

    END   S_T
    

    ;===================================

    程序执行后,显示如下:

    80x86汇编语言编程:在九九乘法表中高亮显示结果 - 非著名博主 - 电子信息之一角

    哥只是技术的搬运工
    http://xiangce.baidu.com/picture/detail/233969bda5418559e1d08957142fd2d3dccb69f1

    评论

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services