汇编 nasm课程设计

这篇博客介绍了作者在期末课程设计中使用汇编语言NASM实现的项目。在文字模式下,他创建了一个包含登录注册功能的应用;而在图形模式下,他实现了在加载图片后在其背景上进行图形绘制的功能。
摘要由CSDN通过智能技术生成
org 0x8400
jmp start

bmphead equ 9000h
bmppal equ 9036h
bmpdata equ 9436h

width dw 320
height dw 200
total dw 64000

string1 	db 'Hello Welcome to use MY_OS!'
string2 	db 'Please select the folllowing options:'
string3 	db '1:Login!'
string4 	db '2:Exit!'
string5 	db '3:Reset!'
string6 	db 'Please enter your choice : '
string7 	db 'Please enter your password : '
string8 	db 'Welcome,Press Enter to continue!'
string9 	db 'Error, please try again!'
string10 	db 'Bye!'
string11 	db 'Loading'
x	db 0	;存储键盘扫描码
t	db 0	;存储输入的密码
m1	db 0
m2	db 0
m3	db 0
m4	db 0
m5	db 0
m6	db 0


start:
    mov ah,00h
	mov al,13h
	int 10h			
    
	mov ax, 0xa000
	mov es,ax		

    mov ax, 0
    mov ds, ax

    call quse
    call draw

    mov dl,1		
	mov ax,1		
	mov bx,1		
	mov si,320		
	call row		

	mov dl,1
	mov ax,50
	mov bx,1
	mov si,320
	call row		

	mov dl,1
	mov ax,1
	mov bx,2
	mov si,200
	call col

	mov dl,1
	mov ax,198
	mov bx,1
	mov si,320
	call row

	mov dl,1
	mov ax,1
	mov bx,320
	mov si,200
	call col
    
h2:
	mov dl,1
	mov ax,10
	mov bx,21
	mov si,30
	call col

	mov dl,1
	mov ax,10
	mov bx,42
	mov si,30
	call col

	mov dl,1
	mov ax,25
	mov bx,21
	mov si,21
	call row
    
e2:
	mov dl,1
	mov ax,10
	mov bx,85
	mov si,30
	call col

	mov dl,1
	mov ax,10
	mov bx,85
	mov si,21
	call row

	mov dl,1
	mov ax,25
	mov bx,85
	mov si,21
	call row

	mov dl,1
	mov ax,40
	mov bx,85
	mov si,21
	call row

l2:
	mov dl,1
	mov ax,40
	mov bx,149
	mov si,21
	call row

	mov dl,1
	mov ax,10
	mov bx,149
	mov si,30
	call col
	
l3:
	mov dl,1
	mov ax,40
	mov bx,192
	mov si,21
	call row

	mov dl,1
	mov ax,10
	mov bx,192
	mov si,30
	call col	

o1:
	mov dl,1
	mov ax,10
	mov bx,256
	mov si,21
	call row
	
	mov dl,1
	mov ax,40
	mov bx,256
	mov si,21
	call row
	
	mov dl,1
	mov ax,10
	mov bx,256
	mov si,30
	call col	
	
	mov dl,1
	mov ax,10
	mov bx,277
	mov si,30
	call col	
;-----------------------------------------------------------------------------------
	cli	
	mov al, 0
	mov ax,0
	mov ds,ax
	mov bx,1854

	mov word [ds:0x24],int_key	
	mov word [ds:0x26],0	
	sti

	
x00:	mov dl,[x]	

t2:
	cmp dl,0x23
	jne t3
	call h1
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00
t3:
	cmp dl,0x2E
	jne t4
	call c1

	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00
t4:
	cmp dl,0x26
	jnz k0
	call l1
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k0:
	cmp dl,0x0B
	jnz k1
	call s0
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k1:
	cmp dl,0x02
	jnz k2
	call s1
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k2:
	cmp dl,0x03
	jnz k3
	call s2
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k3:
	cmp dl,0x04
	jnz k4
	call s3
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k4:
	cmp dl,0x05
	jnz k5
	call s4
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k5:
	cmp dl,0x06
	jnz k6
	call s5
	
	mov dh,0x29
	mov [x],dh
	mov bx,0h
	jmp x00

k6:
	cmp dl,0x07
	jnz k7
	call s6
	
	mov dh,0
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值