汇编实现九九乘法表

作者&投稿:策便 (若有异议请与网页底部的电邮联系)
用汇编语言编一个九九乘法表。~

;用汇编语言编一个九九乘法表,主要是要梯形结构,最好写一下简单的流程

;用MASM5.0编译通过,以下是运行结果

;E:\masm1>9X9
;
;1X1=1
;1X2=2 2X2=4
;1X3=3 2X3=6 3X3=9
;1X4=4 2X4=8 3X4=12 4X4=16
;1X5=5 2X5=10 3X5=15 4X5=20 5X5=25
;1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36
;1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49
;1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64
;1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81
;
;

data segment
L DB 31H,'X'
H DB 31H,'='
M1 DB 0
M2 DB 0
DB ' $'
M DB 0 ;乘积
CRLF DB 0DH,0AH,'$'


data ends


code segment
main proc far
assume cs:code,ds:data


start:
PUSH DS
XOR AX,AX
PUSH AX

MOV AX,DATA
MOV DS,AX


CALL CRLF_P
MOV AL,31H
MOV L,AL
MOV H,AL
NEXT_L:
CALL DISP
MOV AL,H
CMP AL,L
JE NEXT_H
INC L
JMP NEXT_L
NEXT_H:
CALL CRLF_P
INC H
MOV AL,31H
MOV L,AL
MOV AL,H
CMP AL,3AH
JE END9
JMP NEXT_L
END9:
RET

;INT 20H

main endp
;=====================
DISP PROC NEAR
MOV AL,H
MOV BL,L
SUB AL,30H
SUB BL,30H
MUL BL
MOV M,AL ;;乘积
MOV BL,10D
DIV BL
CMP AL,0
JE NO10
ADD AX,3030H
MOV M1,AL
MOV M2,AH
JMP DISP11
NO10:
ADD AH,30H
MOV M1,AH
MOV AL,' '
MOV M2,AL

DISP11:
MOV DX,OFFSET L
MOV AH,09
INT 21H

RET
DISP ENDP
;========================
CRLF_P PROC NEAR
MOV AH,09
MOV DX,OFFSET CRLF
INT 21H
RET
CRLF_P ENDP

code ends
end start

code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
push cs
pop es
mov ax,3
int 10h
mov di, 200h
mov bl, 1
again:
mov al, 1
next1:
mov dl, al
mov al, bl
add al, 30h
stosb
mov al, 'x'
stosb
mov al, dl
add al, 30h
stosb
mov al, '='
stosb
mov al, dl
mul bl
aam
test ah, ah
jz @asc
xchg al, ah
add al, 30h
stosb
xchg al, ah
@asc:
add al, 30h
stosb
mov ax, 2020h
stosw
stosb
mov al, dl
inc al
cmp al, bl
jle next1
mov ax, 0d0ah
stosw
inc bl
cmp bl, 9
jle again
mov ax, 0d0ah
stosw
mov al,'$'
stosb
mov ah, 9
mov dx, 200h
int 21h
mov ah,7
int 21h
mov ah,4ch
int 21h

code ends
end start

.386
.MODEL FLAT

ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD

INCLUDE io.h

cr EQU 0dh
Lf EQU 0ah

.STACK 4096

.DATA
prompt1 BYTE cr,lf,lf,"The multiplication table is:",cr,lf,lf,0
number BYTE 16 DUP (?)
cheng BYTE '*',0
deng BYTE '=',0
space BYTE ' ',0
hh BYTE cr,lf,0

.CODE

_start:
mov ax,0
mov bx,0

mov cx,1

output prompt1
one:
mov ax,cx
inc bx
mul bx
itoa number,cx
output [number+4]
output cheng;输出’*’
itoa number,bx
output [number+5]
output deng;输出‘=‘
itoa number,ax
output [number+4]
output space;输出空格
cmp bx,cx
jb one

output hh
inc cx
cmp cx,9
ja forEnd
mov bx,0
jmp one

forEnd:
INVOKE ExitProcess, 0
PUBLIC _start
END


EXCEL制作九九乘法表
首先,打开一个新的Excel表格,并在左上角单元格(B3)中输入公式。通过复制粘贴,即可生成完整的九九乘法表。以下是八种不同的公式定义方法,用于生成九九乘法表:1. 使用绝对引用符号$:【=B$2*$A3】2. 利用index函数及$符号:【=INDEX($A$3:$A$11,$A3)*INDEX($B$2:$J$2,B$2)】3....

excel利用公式制作九九乘法表
以下是一个简单的方法:假设你想从A1单元格开始填充乘法表。在A1单元格输入“1”,然后在B1单元格输入“2”,依此类推,直到I1单元格输入“9”。接下来,在A2单元格输入公式“=A$1&"x"&$1&"="&A1*1”,然后将此公式向右拖动到I2单元格,Excel会自动调整公式中的列引用。之后,将A2到I2...

如何用C语言编程序:九九乘法表
九九乘法表共9行9列,重点考察for循环的掌握情况。下面给出了输出完整乘法表、右上、右下、左上、左下乘法表的代码。1、【代码一】输出完整的三角形:include <stdio.h> int main() { int i,j; \/\/ i, j控制行或列 for(i=1;i<=9;i++) { for(j=1;j<=9;j++)\/\/ %2d 控制宽度...

如何利用excel制作九九乘法表
1、按图中所示,依次填入1-9这几个数字。2、在b2输入=B1”*”A2”=”B1*A2,记住输入的时候把输入法调为英文格式。3、然后拉住b2的右下角,往下拉。4、再用同样的格式在c3输入。5、最后我们的九九乘法表就做出来了。特别提示 如果觉得有用可以点个赞再走哦~

九九乘法表用什么语句实现?
这个是用java 编程打印输出的九九乘法表:程序如下:public class TenDemo {public static void main(String[] args){int i = 1;int j = 1;while(i<10){if(j < i){System.out.print(j + " * " + i + " = " + j*i + "\\t");j++;continue;}else if(i ==j){System.out....

用一个for循环怎么输出九九乘法表?
for(int i=1,j=1;j<=9;i++){\/\/只有一个for循环,其中i控制每行输入的算式个数,j控制共有多少行。printf("%d*%d=%2d ",i,j,i*j); if(i==j){\/\/表示这一行输入结束,需要换行,并且下一行i需要从1开始,i=0是因为for循环中有i++,最后在自加,所以下一次循环,i=1;下一行算式个数也会加1(j...

怎么用java编写程序实现九九乘法表?
代码如下:public class qct { public static void main(String[] args){ int i=0;int j=0;for(i=1;i<=9;i++){ for(j=i;j<=9;j++)System.out.print(i+"*"+j+"="+i*j+"\\t");System.out.println();} } }

九九乘法表怎么用JAVA语言编写
如果把九九乘法表中如“1*1=1”等式全部看作一个个整体的话,九九乘法表可看作一个直角三角形,实现直角三角形可用两个for循环嵌套来实现,那么我们最后输出应为System.out.print(变量1+"*"+变量2+"="+(变量1*变量2)+" ")。输入代码如下:package ch02;public class TEST{public static void ...

用C#编写程序,输出九九乘法表
回答:public class JiuJiuBiao { public static void Main(string[] args) { int i,j; for(i=1; i<10; i++) { for(j=1; j<10; j++) { Console.Write("{0:D1}*{1:D1}={2,2} ", i, j, i*j); } Console.WriteLine(""); } Console.ReadLine(); } }

输出一张九九乘法表。(要求用数组)
int main(){ int i,j;int a[10][10]; \/\/设立数组 for(i=1;i<10;i++){ \/\/定义两个变量 for(j=1;j<=i;j++){ a[i][j]=i*j;\/\/一边生成结果一边输出结果 printf("%d*%d=%2d\\t",i,j,a[i][j]);\/\/%2d用于上下对齐 } printf("\\n");\/\/j每循环一次就换行一次 } re...

四平市17745933280: 怎样用汇编语言编写九九乘法表并加以流程图 -
禤何益气: code segment assume cs:code,ds:code org 100h start: push cs pop ds push cs pop es mov ax,3 int 10h mov di, 200hmov bl, 1 again:mov al, 1 next1: mov dl, almov al, bladd al, 30hstosbmov al, 'x'stosbmov al, dladd al, 30hstosbmov al, ...

四平市17745933280: 高手给个用汇编语言编写的九九乘法表
禤何益气: 代码如下: .386 .MODEL FLAT INCLUDE io.h ExitProcess PROTO NEAR32 stdcall,dwExitCode:DWORD cr equ 0dh lf equ 0ah .STACK 4096 .DATA prompt1 byte cr,lf,"This program will show you the multiblication table in the triangle-style",0 ...

四平市17745933280: 我想用汇编编一个99乘法表,但是总是实现不了,该怎么解决啊?求哪位大侠帮忙改改 (不要网上复制的) -
禤何益气: 1".积"应该显示两位,你只显示了一位,下面这段应修改.... sub ch,30h sub cl,30h mov ax,0 mov al,ch mul cl mov dh,10 div dhadd ah,30h mov dl,ah mov ah,02h int 21h....2. 处理下一行时,cl 应重新赋值,从1 开始....pass: mov edx,offset cr mov ah,09h int 21h inc ch mov cl,1 <= 增加 cmp ch,9 jz again1 这样才能有 2*1, 2*23*1,3*2,3*3...

四平市17745933280: 求:汇编语言实现输出九九乘法表下三角. -
禤何益气: #include void main() { int i,j; for (i=1;i

四平市17745933280: 有谁会用汇编语言编一个9*9乘法表?
禤何益气: #include<stdio.h> #include<math.h> main() { int a,b,c,i; for(i=1;i<10;i++) { for(a=1;a<=i;a++) { b=i*a; printf("%d*%d=%d ",i,a,b); } printf("\n"); } } C语言的 可以吗?

四平市17745933280: 汇编实现九九乘法表 -
禤何益气: 没惚嘤镅员嘁桓鼍啪懦朔ū恚?饕?且?菪谓峁梗?詈眯匆幌录虻サ牧鞒它br />;用MASM5.0编译通过,以下是运行结果;E:\masm1

四平市17745933280: 编程输出九九乘法表 -
禤何益气: #include <stdio.h> int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%-2d ",i,j,i*j); } printf("\n"); } return 0; }

四平市17745933280: 编程题:怎样输出九九乘法表 -
禤何益气: 九九乘法表用C语言可以实现,两个循环就可以了. 1、完整的九九乘法表程序 #include <stdio.h> void main() {int i,j; for (i=1;i<=9;i++) {for(j=1;j<=9;j++) printf("%d*%d=%2d ",i,j,i*j); printf("\n"); } } 2、右上三角形显示方式#include <stdio.h> ...

四平市17745933280: 请编程序输出一个九九乘法表.
禤何益气: { int a,b; a=1; while(a<10) { b=1; while(b<a+1) { printf("%d*%d=%d\t",a,b,a*b); b++; } printf("\n"); a++; } }

四平市17745933280: 编程计算九九乘法表,并标注各语句的含义 -
禤何益气: 解题思路: 九九乘法表,可以通过双重循环打印出每个乘数因子的值. 外层循化用来换行,内层循化用来显示每一行的算式. 具体代码如下: #include <stdio.h> int main() {/* 九九乘法表 */int i;//控制列int j;//控制行for(i = 1;i<=9;i++){for(j = 1;j<=i;j++){printf("%d x %d = %d\t",j,i,i*j);//输出每个乘法算式}printf("\n");//每个进行换行}return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网