输出1,2,3,4
;输出1 2 3 4
data segment;
x db 1
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data;
mov ds,ax;
add x,'0';
mov cx,4;
print:
mov dl,x;
mov ah,02h;
int 21h;
add x,1;
loop print;
mov ax,4c00h;
int 21h;返回
code ends;
end start
输入HELLEO
Data SEGMENT
string DB "HELLO WORLD! $"
data ENDS
CODE SEGMENT
ASSUME CS:code,DS:data
start:
MOV AX,data
MOV DS,AX
MOV DX,OFFSET string
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
code ENDS
END start
润年判断
data segment ;定义数据段
infon db 0dh,0ah,'Please input a year: $'
Y db 0dh,0ah,'This is a leap year! $'
N db 0dh,0ah,'This is not a leap year! $'
w dw 0
buf db 8
db ?
db 8 dup(?)
data ends
stack segment stack
db 200 dup(0)
stack ends
code segment
assume ds:data,ss:stack,cs:code
start:mov ax,data
mov ds,ax
lea dx,infon ;在屏幕上显示提示信息
mov ah,9
int 21h
lea dx,buf ;从键盘输入年份字符串
mov ah,10
int 21h
mov cl, [buf+1]
lea di,buf+2
call datacate
call ifyears
jc a1
lea dx,n
mov ah,9
int 21h
jmp exit
a1: lea dx,y
mov ah,9
int 21h
exit: mov ah,4ch
int 21h
datacate proc near;
push cx;
dec cx
lea si,buf+2
tt1: inc si
loop tt1
;lea si,cx[di]
pop cx
mov dh,30h
mov bl,10
mov ax,1
l1: push ax
sub byte ptr [si],dh
mul byte ptr [si]
add w,ax
pop ax
mul bl
dec si
loop l1
ret
datacate endp
ifyears proc near
push bx
push cx
push dx
mov ax,w
mov cx,ax
mov dx,0
mov bx,4
div bx
cmp dx,0
jnz lab1
mov ax,cx
mov bx,100
div bx
cmp dx,0
jnz lab2
mov ax,cx
mov bx,400
div bx
cmp dx,0
jz lab2
lab1: clc
jmp lab3
lab2: stc
lab3: pop dx
pop cx
pop bx
ret
ifyears endp
code ends
end start