組合語言 輸出九九乘法表

2021-10-01 18:29:40 字數 1438 閱讀 1716

;編制在螢幕上顯示九九乘法表的程式。

data segment

res db 3 dup(0)

pr db 00h,'*',00h,'=', 2 dup(2),' ','$' ;結果

line db 0dh,0ah,'$' ;換行

ipp dw 0000h ;ip

data ends

stack segment

db 20 dup(0)

stack ends

code segment

assume cs:code,ds:data,ss:stack

start: mov ax,data

mov ds,ax

mov cx,0009h

;行迴圈

l1: mov dh,0ah

sub dh,cl ;dh儲存該行最大列數

mov dl,01h ;dl儲存當前列數

mov al,dh

and ax,00ffh

;列迴圈

l2: cmp dl,dh

ja next

push dx ;列數

push cx ;行數

push ax ;被乘數

push dx ;乘數

mov al,dh

mul dl

push ax ;結果

call num

pop cx ;行數

pop dx ;列數

inc dl

jmp l2

next: mov dx,offset line

mov ah,09h

int 21h

loop l1

mov ah,4ch

int 21h

num proc

pop ipp ;主函式位址

pop dx ;結果

mov ax,dx

mov bl,0ah

div bl

add ax,3030h

mov pr+4,al

mov pr+5,ah

pop ax ;乘數

and al,0fh

add al,30h

mov pr+2,al

pop ax ;被乘數

and al,0fh

add al,30h

mov pr,al

;輸出mov dx,offset pr

mov ah,09h

int 21h

push ipp

ret

num endp

code ends

end start

C語言輸出九九乘法表

c語言學了有一陣子了,趁著假期沒事練練手,沒想到挺簡單 基本思路是這樣的 先寫乙個主函式,然後定義兩個變數i1和i2 使用for語句迴圈巢狀,外層迴圈負責寫迴圈9次,內迴圈裡面寫從1開始遞增去和外層迴圈相乘,就可以得到結果,具體操作可以看下以下 include main printf n 輸出結果 ...

九九乘法表

題目描述 完成乙個99乘法表,如下圖所示,用js生成,不能有table 本來想用table實現,但是table貌似只能實現階梯效果,因為table並不能進行錯位。99乘法很簡單兩個for迴圈就可以實現,主要是布局,我搞了很久。布局解析 1.乙個div包裹住全部 2.div中有九個div分別代表每一行...

九九乘法表

小時候學過的九九乘法表也許將會扎根於我們一生的記憶,現在讓我們重溫那些溫暖的記憶,請程式設計輸出九九乘法表.現在要求你輸出它的格式與平常的 不同啊 是那種反過來的三角形啦,具體如下圖 每兩個式子之前用乙個空格 隔開。輸入 第一有乙個整數n,表示有n組資料 n 10 接下來由n行,每行只有乙個整數m ...