亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.asm

?? 學生成績管理系統
?? ASM
字號:
;main.asm文件為系統的主文件,包括主模塊在內。功能有顯示(輸出)數據內容、計算總分、刪除和響應鍵盤等
include macro.asm					;macro.asm宏文件
extrn	start:far,new:far,load:far,save:far,ifc:far,input:far,del:far,sort:far,find:far,help:far
public	res,pag,row,line,tot,pri,cur,flag,tota,findf,frow,fd,fstart
result	struc						;成績單結構,由學號(nam,13字節)、姓名(num,7字節)、匯編語言成績(asm,4字節)、組成原理成績(ct,4字節)、操作系統成績(os,4字節)和總分(total,4字節)五部分構成,共44字節
nam	db 11,?,11 dup('$')
num	db 7,?,7 dup('$')
asm	db 4,?,4 dup('$')
ct	db 4,?,4 dup('$')
os	db 4,?,4 dup('$')
total	db 3 dup(' '),'$'
result	ends
stacksg	segment stack 's'
	dw 128 dup('s')
stacksg	ends
data	segment public
res	result 100 dup(<>)				;成績單結構數組res
pri	db 100 dup(0)					;優先級數組pri,用于判斷光標當前位置是否達到可以輸入的優先級
cur	db 1						;輸入位置的行號
tot	db 1						;總條目數(初始唯一,實際比總條目數大1)
flag	db 0						;輸入標志(可以輸入為1,否則為0)
findf	db 0						;查找標志(找到為1,否則為0)
fstart	db 1						;查找開始行號(1——tot)
frow	db ?						;查找到的數據的行號
n	db ?
row	db 3						;光標行號(3,5,7,...,21)
line	db 25						;光標列號(25,36,43,47,51)
drow	db ?						;欲顯示數據的行號(3,5,7,...,21)
dline	db ?						;欲顯示數據的列號(25,36,43,47,51)
pag	db 0						;頁號(0——10)
tota	dw 100 dup(0)					;總分數組
acc	dw ?						;計算總分的累加器
fd	dw -1						;文件句柄
data	ends
code	segment
main	proc far
	assume	cs:code,ds:data,es:data,ss:stacksg
	mov ax,data
	mov ds,ax
	mov es,ax

stt:	call far ptr start				;顯示開始畫面

draw:	call far ptr ifc				;繪制表格

	call disp					;顯示數據,幾乎每項功能調用之后都要調用繪制表格和顯示數據

cursor:
	mov ah,2
	mov bh,0
	mov dh,row
	mov dl,line
	int 10h						;光標定位
	
	mov findf,0
	mov fd,-1
	
cj:	mov ah,0					;響應鍵盤
	int 16h

	cmp ah,01h					;ESC		退出
	jz exit
	cmp ah,1ch					;Enter		輸入(插入)
	jz ipt
	cmp ah,3bh					;F1		新建(刷新)
	jz nf
	cmp ah,3ch					;F2		讀取文件
	jz lf
	cmp ah,3dh					;F3		儲存文件
	jz sf
	cmp ah,3eh					;F4		排序
	jz srt
	cmp ah,3fh					;F5		查找
	jz fnd
	cmp ah,40h					;F6		刪除(輸入行)
	jz del1
	cmp ah,41h					;F7		幫助
	jz hlp
	cmp ah,42h					;F8		退出
	jz exit
	cmp ah,43h					;F9		排序
	jz srt
	cmp ah,44h					;F10		查找
	jz fnd
	cmp ah,52h					;Insert		輸入(插入)
	jz ipt
	cmp ah,47h					;Home		開始畫面
	jz stt
	cmp ah,53h					;Delete		刪除(當前行)
	jz del2
	cmp ah,4fh					;End		退出
	jz exit
	cmp ah,39h					;Space		輸入(插入)
	jz ipt
	cmp ah,31h					;n		新建(刷新)
	jz nf
	cmp ah,26h					;l		讀取文件
	jz lf
	cmp ah,1fh					;s		存儲文件
	jz sf
	cmp ah,20h					;d		刪除(輸入行)
	jz del1
	cmp ah,21h					;f		查找
	jz fnd
	cmp ah,23h					;h		幫助
	jz hlp
	cmp ah,0eh					;Backspace	退格(上一格,同坐鍵)
	jz left
	cmp ah,0fh					;Tab		跳格(下一格,同右鍵)
	jz right
	cmp ah,48h					;UpArrow	向上
	jz up
	cmp ah,50h					;DownArrow	向下
	jz down
	cmp ah,4bh					;LeftArrow	向左
	jz left
	cmp ah,4dh					;RightArrow	向右
	jz right
	cmp ah,49h					;PgUp		上翻頁
	jz pu
	cmp ah,51h					;PgDn		下翻頁
	jz pd
	jmp sta						;No Operation	無操作

ipt:	mov al,row					;輸入(插入),計算當前行號(pag*10+row/2)及在結構res中的位置[(pag*10+row/2-1)*44]
	xor ah,ah
	mov bl,2
	div bl
	mov cl,al
	mov al,pag
	mov bl,10
	mul bl
	add al,cl
	mov cur,al
	cmp al,tot
	ja sta
	dec al
	mov bl,44
	mul bl
	lea bp,res
	add bp,ax
	mov flag,1

	call far ptr input				;輸入

	cmp flag,0					;若輸入標志為0,則不輸入
	jz cj

	cmp line,36					;判斷當前列所在格的類型
	ja i2

i1:	jmp draw

i2:	call sum					;若為分數格(line>36),則計算總分
	jmp draw

nf:	call far ptr new				;新建
	jmp draw

lf:	call far ptr load				;讀取
	jmp draw

sf:	call far ptr save				;存儲
	jmp draw

srt:	call far ptr sort				;排序
	jmp draw

fnd:	call far ptr find				;查找
	jmp draw

del1:	call far ptr del				;刪除輸入行
	jmp draw
del2:	call d2						;刪除當前行
	jmp draw

hlp:	call far ptr help				;幫助
	jmp draw

up:	cmp row,3					;向上(光標上移一行)
	jz uj
	sub row,2
	jmp cursor
uj:	cmp pag,0					;光標以至首頁的第一行,發警告音提示
	jz sta
	mov row,21
	dec pag
	jmp draw
	
down:	cmp row,21					;向下(光標下移一行)
	jz dj
	add row,2
	jmp cursor
dj:	cmp pag,9					;光標以至末頁的最后一行,發警告音提示
	jz sta
	mov row,3
	inc pag
	jmp draw

left:	cmp line,51					;向左(光標左移一格)
	jz l1
	cmp line,47
	jz l2
	cmp line,43
	jz l3
	cmp line,36
	jz l4
	cmp line,25
	jz lj1
l1:	mov line,47
	jmp cursor
l2:	mov line,43
	jmp cursor
l3:	mov line,36
	jmp cursor
l4:	mov line,25
	jmp cursor
lj1:	cmp row,3					;光標已至每行最左一格,移至上行最右一個
	jz lj2
	sub row,2
	mov line,51
	jmp cursor
lj2:	cmp pag,0					;光標已至首頁的第一行最左一格,發警告音提示
	jz sta
	dec pag
	mov row,21
	mov line,51
	jmp draw

right:	cmp line,25					;向右(光標右移一格)
	jz r1
	cmp line,36
	jz r2
	cmp line,43
	jz r3
	cmp line,47
	jz r4
	cmp line,51
	jz rj1
r1:	mov line,36
	jmp cursor
r2:	mov line,43
	jmp cursor
r3:	mov line,47
	jmp cursor
r4:	mov line,51
	jmp cursor
rj1:	cmp row,21					;光標已至每行最右一格,移至下行最左一個
	jz rj2
	add row,2
	mov line,25
	jmp cursor
rj2:	cmp pag,9					;光標已至末頁的最后一行最右一格,發警告音提示
	jz sta
	inc pag
	mov row,3
	mov line,25
	jmp draw

pu:	cmp pag,0					;上翻頁(若光標已至首頁,發警告音提示)
	jz sta
	dec pag
	jmp draw

pd:	cmp pag,9					;下翻頁(若光標已至末頁,發警告音提示)
	jz sta
	inc pag
	jmp draw

sta:	mov ah,14					;警告音,返回響應鍵盤處
	mov al,7
	mov bh,0
	int 10h
	jmp cj
	
exit:	mov ax,4c00h
	int 21h

main	endp

disp	proc far					;顯示(輸出)數據子函數disp

	mov drow,3					;置顯示的光標到首行首列
	mov dline,25
	mov al,pag
	mov bl,10
	mul bl
	mov bl,44
	mul bl
	lea bx,res					;計算開始顯示的數據在結構中的位置(res+pag*10*44)
	add bx,ax

	mov n,0
lop:	cmp n,10					;每頁顯示10條數據
	jz quit

dnam:	mov dline,25
	lea bp,[bx].nam+2
	mov cl,[bx].nam+1
	xor ch,ch
	dispd drow,dline

dnum:	mov dline,36
	lea bp,[bx].num+2
	mov cl,[bx].num+1
	xor ch,ch
	dispd drow,dline

dasm:	mov dline,43
	lea bp,[bx].asm+2
	mov cl,[bx].asm+1
	xor ch,ch
	dispd drow,dline

dct:	mov dline,47
	lea bp,[bx].ct+2
	mov cl,[bx].ct+1
	xor ch,ch
	dispd drow,dline

dos:	mov dline,51
	lea bp,[bx].os+2
	mov cl,[bx].os+1
	xor ch,ch
	dispd drow,dline

dtot:	mov dline,55
	lea bp,[bx].total
	mov cl,3
	xor ch,ch
	dispd drow,dline

	add drow,2
	add bx,44
	inc n
	jmp lop

quit:	ret

disp	endp

sum	proc far					;計算總分子函數sum
	mov acc,0					;總分累加器置0
	lea si,[bp].asm
	call td						;計算匯編語言成績
	add acc,ax
	lea si,[bp].ct
	call td						;計算組成原理成績
	add acc,ax
	lea si,[bp].os
	call td						;計算操作系統成績
	add acc,ax
	mov al,row					;計算當前行號(pag*10+row/2)及在結構res中的位置[(pag*10+row/2-1)*44]
	xor ah,ah
	mov bl,2
	div bl
	mov cl,al
	mov al,pag
	mov bl,10
	mul bl
	add al,cl
	dec al
	mov dl,al
	xor dh,dh
	mov bl,44
	mul bl
	lea si,tota					;將總分寫入總分數組tota,位置與該條數據在成績單結構數組中的位置相同
	add si,dx
	add si,dx
	mov bx,acc
	mov [si],bx
	lea si,[bp].total
	mov byte ptr [si],' '
	mov byte ptr [si+1],' '
	mov byte ptr [si+2],' '
	mov byte ptr [si+3],'$'
	add si,3
	call ta						;將總分轉換為字符
	ret
sum	endp

td	proc far					;字符轉換為10進制數的子函數td
	xor al,al
	mov bl,10
	mov cl,[si+1]					;字符串長度
	cmp cl,0
	jz td3
	dec cl
	xor ch,ch
	add si,2
	cmp cl,0
	jz td2
td1:	add al,[si]
	sub al,30h
	mul bl						;從字符串首位至倒數第二位,每位均計入al,并減30h('0'的ASCII值),再乘10
	inc si
	loop td1
td2:	add al,[si]					;最后一位數加入al,并減30h
	sub al,30h
	xor ah,ah
td3:	ret
td	endp


ta	proc						;10進制數轉換為字符串的子函數ta
	mov ax,acc
	mov bl,10
ta1:	dec si						;用數字除以10,余數為低位,商作為下一次的被除數
	div bl
	add ah,30h
	mov [si],ah
	xor ah,ah
	cmp al,0
	jnz ta1
ta3:	ret
ta	endp

d2	proc						;刪除當前行的子函數d2
	mov al,row					;計算當前行號(pag*10+row/2)及在結構res中的位置[(pag*10+row/2-1)*44]
	xor ah,ah
	mov bl,2
	div bl
	mov cl,al
	mov al,pag
	mov bl,10
	mul bl
	add al,cl
	mov dl,al
	xor dh,dh
	dec al
	mov bl,44
	mul bl
	lea bp,res
	add bp,ax

lopd2:	cmp tot,dl					;對從當前行起的每一行,用下一行數據覆蓋本行數據,至第(tot-1)行
	jna d2q
	
	lea si,[bp+44].nam
	lea di,[bp].nam
	mov cl,[di]
	xor ch,ch
	sub cx,1
	add di,2
as1:	mov byte ptr [di],' '
	inc di
	loop as1
	lea di,[bp].nam
	ass

	lea si,[bp+44].num
	lea di,[bp].num
	mov cl,[di]
	xor ch,ch
	sub cx,1
	add di,2
as2:	mov byte ptr [di],' '
	inc di
	loop as2
	lea di,[bp].num
	ass

	lea si,[bp+44].asm
	lea di,[bp].asm
	mov cl,[di]
	xor ch,ch
	sub cx,1
	add di,2
as3:	mov byte ptr [di],' '
	inc di
	loop as3
	lea di,[bp].asm
	ass

	lea si,[bp+44].ct
	lea di,[bp].ct
	mov cl,[di]
	xor ch,ch
	sub cx,1
	add di,2
as4:	mov byte ptr [di],' '
	inc di
	loop as4
	lea di,[bp].ct
	ass

	lea si,[bp+44].os
	lea di,[bp].os
	mov cl,[di]
	xor ch,ch
	sub cx,1
	add di,2
as5:	mov byte ptr [di],' '
	inc di
	loop as5
	lea di,[bp].os
	ass

	lea si,[bp+44].total
	lea di,[bp].total
	mov cl,3
	xor ch,ch
as6:	mov byte ptr [di],' '
	inc di
	loop as6
	lea di,[bp].total
	ast

	lea si,tota					;對總分數組也執行同樣的覆蓋操作
	add si,dx
	add si,dx
	mov di,si
	add si,2
	mov ax,[si]
	mov [di],ax

	inc dl
	add bp,44
	jmp lopd2

d2q:	lea si,tota					;對總分數組的第tot項數據置0
	add si,dx
	add si,dx
	mov [si],0

	dec tot						;條目總數自減

	ret
d2	endp

code	ends
	end main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲一区二区va在线| 99精品国产一区二区三区不卡| 555www色欧美视频| 午夜不卡av在线| 欧美日本高清视频在线观看| 日韩福利视频导航| 日韩欧美视频在线| 国产麻豆成人传媒免费观看| 久久久久久久久一| 丰满亚洲少妇av| 亚洲免费观看高清在线观看| 91久久人澡人人添人人爽欧美| 一区二区三区在线视频免费| 欧美日本在线播放| 蜜臀av国产精品久久久久| 欧美精品一区二区三区一线天视频 | 蜜臂av日日欢夜夜爽一区| ww亚洲ww在线观看国产| 成人av在线网站| 亚洲一区二区视频| 日韩欧美电影一区| 成人一级视频在线观看| 亚洲黄色av一区| 欧美一区二区三区白人| 蜜臀av一区二区在线观看| 国产欧美一区二区三区在线老狼| 色成人在线视频| 久久99深爱久久99精品| 中文字幕一区二区日韩精品绯色 | 欧美三级在线视频| 蜜臀久久99精品久久久画质超高清| 久久人人97超碰com| 日本精品裸体写真集在线观看| 免费在线欧美视频| 亚洲精品亚洲人成人网| 日韩欧美在线不卡| 色呦呦网站一区| 久草这里只有精品视频| 亚洲欧美一区二区不卡| 欧美成人一区二区三区片免费| 国产高清在线精品| 亚洲午夜精品一区二区三区他趣| 精品人伦一区二区色婷婷| 天堂av在线一区| 国产亚洲欧美在线| 色综合久久中文综合久久牛| 性欧美大战久久久久久久久| 精品国产电影一区二区| 99国产精品久久久久久久久久| 亚洲二区在线视频| 欧美一区二区三区免费观看视频| 国产一区 二区 三区一级| 亚洲天堂网中文字| 日韩欧美一区二区三区在线| 国产一区二区中文字幕| 亚洲主播在线观看| 日韩女同互慰一区二区| 色哟哟精品一区| 国产精品夜夜嗨| 婷婷中文字幕综合| 中文字幕一区日韩精品欧美| 欧美日韩中文另类| 在线视频综合导航| 大桥未久av一区二区三区中文| 丝袜美腿亚洲色图| 1区2区3区国产精品| 欧美理论电影在线| 91日韩精品一区| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品欧美一区喷水| 欧美人成免费网站| 91麻豆123| 丁香啪啪综合成人亚洲小说| 毛片一区二区三区| 亚洲国产欧美另类丝袜| 国产精品美女久久久久久久| 欧美成va人片在线观看| 91精品国产综合久久精品麻豆 | 在线观看91av| 色国产综合视频| av激情综合网| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩电影在线一区二区| 亚洲国产日产av| 一区二区免费在线播放| 亚洲图片你懂的| 国产日韩成人精品| 精品国产乱码久久久久久蜜臀| 欧美精品久久一区二区三区| 色哟哟欧美精品| 色综合天天综合色综合av | a美女胸又www黄视频久久| 久久丁香综合五月国产三级网站| 亚洲第一搞黄网站| 亚洲码国产岛国毛片在线| 国产精品美女久久久久久久久 | 国产亚洲欧美中文| 久久久蜜桃精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 99在线视频精品| 成人高清在线视频| 99综合影院在线| 色噜噜狠狠色综合中国| 色婷婷久久99综合精品jk白丝 | 在线免费观看日本一区| 欧美在线制服丝袜| 欧美电影在线免费观看| 在线观看国产日韩| 欧美一区二区三区在| 日韩情涩欧美日韩视频| 欧美成人女星排名| 国产日韩三级在线| 国产精品久久久久婷婷二区次| 一区视频在线播放| 亚洲一区二区四区蜜桃| 三级不卡在线观看| 久久99精品国产.久久久久久| 极品少妇xxxx精品少妇偷拍| 看电视剧不卡顿的网站| 亚洲va韩国va欧美va精品| 国产一区二区美女| 成人av电影在线| 在线一区二区三区四区五区 | 日韩午夜电影av| 久久亚洲一级片| 亚洲色图一区二区| 天堂影院一区二区| 久久精品国产第一区二区三区| 国产一区二区三区不卡在线观看 | 在线电影院国产精品| 精品国产污网站| 亚洲视频在线观看三级| 五月天精品一区二区三区| 精品一区二区三区的国产在线播放| 岛国精品在线观看| 欧美日韩亚洲不卡| 久久久五月婷婷| 亚洲国产人成综合网站| 国产一区二区三区综合| 欧美性色aⅴ视频一区日韩精品| 91国在线观看| 国产精品久久毛片a| 日本最新不卡在线| 91视频91自| 久久中文娱乐网| 一区二区三区四区五区视频在线观看 | 日日摸夜夜添夜夜添精品视频| 国产精品自拍av| 欧美日本不卡视频| 中文字幕不卡在线观看| 亚洲综合色视频| 亚洲国产精品久久一线不卡| 黑人精品欧美一区二区蜜桃| 欧美视频一二三区| 国产精品视频免费看| 人人爽香蕉精品| 色综合咪咪久久| 久久久久久久综合狠狠综合| 亚洲va韩国va欧美va| 不卡av电影在线播放| 精品国产成人系列| 久草这里只有精品视频| 欧美精品在线一区二区| 亚洲另类一区二区| a在线播放不卡| 久久九九久久九九| 美腿丝袜在线亚洲一区| 欧美日韩免费观看一区二区三区 | 一区二区久久久| 国产成人日日夜夜| 日韩一级片在线观看| 亚洲高清视频中文字幕| 91同城在线观看| 国产精品久久久久久久久图文区| 国产麻豆日韩欧美久久| 日韩一区二区在线观看| 亚洲成精国产精品女| 99久久er热在这里只有精品66| 国产欧美va欧美不卡在线| 精品在线观看免费| 欧美亚洲国产bt| 亚洲精品伦理在线| 99re亚洲国产精品| 国产精品美女久久久久久久 | 国产一区 二区| 欧美亚洲精品一区| 亚洲欧洲无码一区二区三区| 成人av免费在线| 国产亚洲成年网址在线观看| av不卡一区二区三区| 中文字幕欧美一| 91免费看`日韩一区二区| 中文字幕中文字幕一区| 99视频精品全部免费在线| 亚洲私人影院在线观看| 在线亚洲精品福利网址导航| 一区二区理论电影在线观看| 欧美午夜电影网| 天堂成人国产精品一区| 精品成人一区二区三区四区|