.286
SSEG SEGMENT STACK
DB 256 DUP(?)
SSEG ENDS
DSEG SEGMENT
BUFFER DB ?, " * ", ?, " = ", ?, 0DH, 0AH, '$'
DSEG ENDS
CSEG SEGMENT 'CODE'
ASSUME CS:CSEG, SS:SSEG, DS:DSEG
MAIN PROC FAR
PUSH DS
PUSH 0
MOV AX, DSEG
MOV DS, AX
MOV BH, 1 ; 출력하고자 하는 단수
MOV CX, 9 ; 루프 반복 횟수
MOV BL, 0 ; 곱해지는 수 초기화(1,...,9)
L1:
ADD BL, 1
MOV AL, BL
MUL BH ; AX = BH(단수) * AL(각 단 내에서 곱해지는수)
MOV BUFFER, BH ; (1) * (2) = (3) 에서 (1)부분 세팅
ADD BUFFER, '0'
MOV BUFFER+4, BL ; (1) * (2) = (3) 에서 (2)부분 세팅
ADD BUFFER+4, '0'
ADD AL, '0' ; (1) * (2) = (3) 에서 (3)부분 세팅
MOV BUFFER+8, AL
MOV AH, 09H ; 위 과정에 의해 세팅된 문자열을 화면에 출력
LEA DX, BUFFER
INT 21H
반응형
'IT > Assembler' 카테고리의 다른 글
어셈블리어 곱하기 소스 (0) | 2014.12.19 |
---|---|
[ASM]구구단중 2단의 결과값 구하는 예제소스 (0) | 2014.12.19 |
[어셈블러] LOOP을 이용한 1부터 10까지 더하기 (0) | 2014.12.19 |
어셈블리어 기본 (0) | 2014.12.19 |
[ASM]프로토타입 프로그램 (0) | 2014.12.19 |