汇编程序

输出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


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值