汇编语言程序设计实验课件 创新实验部分: 本部分共包括三个创新实验 实验16十字路口交通灯变换程序设计 实验17 位图图像文件的显示、放大、移动 程序设计实验 实验18键盘加密、解密程序设计实验 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 创新实验部分 : 本部分共包括三个创新实验 实验16 十字路口交通灯变换程序设计 实验17 位图图像文件的显示、放大、移动 程序设计实验 实验18 键盘加密、解密程序设计实验 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 【实验16】十字路口交通灯变换程序设计 【实验目的】 综合使用汇编语言进行编程练习,学会调用系 统中断服务完成程序功能,理解屏幕显示方式设置 方法,以及CMOS数据的读写技术,掌握外设接口和 端口号读写的I/O指令。 【实验内容】 编写十字路口交通灯变换程序。 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 【实验16 】十字路口交通灯变换程序设计 【 实验目的 】 综合使用汇编语言进行编程练习,学会调用系 统中断服务完成程序功能,理解屏幕显示方式设置 方法,以及CMOS数据的读写技术,掌握外设接口和 端口号读写的I/O指令。 【实验内容】 编写十字路口交通灯变换程序。 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: data segment infol db Odh,Oah,'please choose the letter y,s,z: db Odh,Oah,'input q to db95,210 quit','$' db110,114 info2 db Odh,Oah,'choose db110,210 error!,'$' db130,135 d3 dw 0 db130,195 total db 12 db145,165 dotyx db 50,160 data ends db60,135 stack segment stack db60,185 db 200 dup(O) db75,115 stack ends db75,205 db95,110 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: data segment data segment info1 db 0dh,0ah,'please choose the letter y,s,z:' db 0dh 0 h 'i db 实验1 0dh,0 a h,'input q to quit','$' info2 db 0dh,0ah,'choose db 95,210 db 110,114 db 110,210 error!','$' d3 dw 0 total db 12 db 130,135 db 130,195 db 145 165 dotyx db 50,160 db 60,135 db 60,185 db 145,165 data ends stack segment stack db 200 dup(0) db 60,185 db 75,115 db 75,205 db 95 110 db 200 dup(0) stack ends http://lab.cug.edu.cn/ db 95,110 China University of Geoscience
汇编语言程序设计实验课件 参考程序: code segment jz sa assume cmp al,'z' cs:code,ds:data,ss:stack jz zhen main proc far cmp al,'y' mov ax,data jz yua mov ds,ax cmp al,'q' mov ah,0 jz exit mov al,4 mov dx,offset info2 int 10h mov ah,09 input:lea dx,infol int 21h mov ah,9 sa: call san int 21h jmp input mov ah,08 zhen:call zheng int 21h jmp input cmp al,'s' yua: call yuan China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: code segment jz sa code segment assume cs:code,ds:data,ss:stack i f j cmp al,'z' jz zhen cmp al,'y' ma 实验1 in proc far mov ax,data mov ds,ax cmp al, y jz yua cmp al,'q' jz exit mov ah,0 mov al,4 int 10h jz exit mov dx,offset info2 mov ah,09 i t 21h input: lea dx,info1 mov ah,9 int 21h in t 21h sa: call san jmp input int 21h mov ah,08 int 21h cmp al 's' zhen: call zheng jmp input yua: call yuan http://lab.cug.edu.cn/ cmp al, s y y China University of Geoscience
汇编语言程序设计实验课件 参考程序: a0: mov dx,1 jmp input mov d3,1 exit: mov ah,4ch mov cx,320 int 21h al: push cx ret push d3 main endp a2: mov ah,12 san proc near push ax push ax int 10h push bx pop ax push cx inc cx push dx sub d3,1 mov ah,0 jnz a2 mov al,12h pop d3 int 10h add d3,2 mov al,1 pop cx China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: a0: mov dx,1 jmp input exit: mov ah,4ch int 21h a0: mov dx,1 mov d3,1 mov cx,320 a1: push cx 实验1 int 21h ret main endp san proc near a1: push cx push d3 a2: mov ah,12 h san proc near push ax push bx push cx pus h ax int 10h pop ax push cx push dx mov ah,0 l 12h inc cx sub d3,1 jnz a2 mov al,12h int 10h mov al,1 j pop d3 add d3,2 pop cx http://lab.cug.edu.cn/ pop cx China University of Geoscience
汇编语言程序设计实验课件 参考程序: push cx inc dx push dx dec cx mov ah,Ofh jne al int 10h inc al mov ah,0 cmp al,5 mov al,3 jne a0 int 10h pop dx mov cx,1 ;字符数量 pop cx mov ah,2 pop bx mov dh,5 ;5行开始 pop ax mov dl,25 ;25列开始 ret int 10h san endp line: mov ah,2 zheng proc near int 10h push ax mov al,2 push bx mov ah,9 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: inc dx push cx h d inc dx dec cx jne a1 i l pus h d x mov ah,0fh int 10h 实验1 inc al cmp al,5 jne a0 mov ah,0 mov al,3 int 10h pop dx pop cx p o p bx mov cx,1 ;字符数量 mov ah,2 p p mov dh 5 ;5行开始 pop ax ret san endp mov dh,5 ;5行开始 mov dl,25 ;25列开始 int 10h line: mov ah 2 san endp zheng proc near push ax push bx line: mov ah,2 int 10h mov al,2 h 9 http://lab.cug.edu.cn/ push bx mov a h,9 China University of Geoscience
汇编语言程序设计实验课件 参考程序: jne linel mov bl,OeOh jmp line2 int 10h line2:mov ah,2 inc dh int 10h cmp dh,20 mov al,2 jne line mov ah,9 jmp linel mov bl,OeOh ;字 linel:mov ah,2 符为黄色 int 10h int 10h mov al,2 dec dh mov ah,9 cmp dh,5 mov bl,OeOh jne line2 int 10h jmp line3 inc dl line3:mov ah,2 cmp dl,55 int 10h mov al,2 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: jne line1 j li 2 mov bl,0e0h int 10h inc dh jmp line 2 line2: mov ah,2 int 10h 实验1 inc dh cmp dh,20 jne line jmp line1 mov al,2 mov ah,9 jmp line1 mov bl,0e0h ;字 line1: mov ah,2 int 10h mov al 2 符为黄色 int 10h dec dh mov al,2 mov ah,9 mov bl,0e0h 10h dec dh cmp dh,5 jne line2 jmp line3 int 10h inc dl cmp dl,55 jmp line3 line3: mov ah,2 int 10h mo al 2 http://lab.cug.edu.cn/ mov al,2 China University of Geoscience
汇编语言程序设计实验课件 参考程序: 101: mov ah,0 mov ah,9 int lah mov bl,0e0h;字符为黄色 cmp dl,10 int 10h jnz 101 dec dl l1: mov ah,6 cmp dl,25 mov al,14 jne line3 mov bh,Ofoh;台色 100: mov ah,7 mov ch,6 mov al,14 mov cl,26 mov bh,20h;绿色 mov dh,19 mov ch,6 mov dl,54 mov cl,26 int 10h mov dh,19 12: mov ah,0 mov dl,54 int lah int 10h cmp dl,15 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: l01: mov ah 0 mov ah,9 mov bl,0e0h ;字符为黄色 int 10h l01: mov ah,0 int 1ah cmp dl,10 实验 jnz l01 1 int 10h dec dl cmp dl,25 jne line3 jnz l01 l1: mov ah,6 mov al,14 jne line3 bh 0f0h 色 l00: mov ah,7 mov al,14 mov bh 20h 绿色 mov bh,0f0h ;白 色 mov ch,6 mov cl,26 mov bh,20h ;绿色 mov ch,6 mov cl,26 dh 19 mov dh,19 mov dl,54 int 10h mov dh,19 mov dl,54 int 10h l2: mov ah,0 int 1ah cmp dl 15 http://lab.cug.edu.cn/ cmp dl,15 China University of Geoscience
汇编语言程序设计实验课件 参考程序: mov al,14 jnz 12 mov bh,0doh;品红 13: mov ah,7 mov ch,6 mov al,14 mov cl,26 mov bh,.40h;红色 mov dh,19 mov ch,6 mov dl,54 mov cl,26 int 10h mov dh,19 1004:mov ah,0 mov dl,54 int lah int 10h cmp dl,10 14: mov ah,O jnz 1004 int lah 1005:mov ah,7 cmp dl,30 mov al,14 jnz 14 mov bh,30h;青 15: mov ah,6 mov ch,6 China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: mov al 14 jnz l2 l3: mov ah,7 mov al,14 mov al,14 mov bh,0d0h ;品红 mov ch,6 实验 mov cl 26 1 mov al,14 mov bh,40h ;红色 mov ch,6 mov cl 26 mov cl,26 mov dh,19 mov dl,54 mov i 10h cl,26 mov dh,19 mov dl,54 int 10h int 10h l004: mov ah,0 int 1ah int 10h l4: mov ah,0 int 1ah dl 30 cmp dl,10 jnz l004 l005: mov ah,7 cmp dl,30 jnz l4 l5: mov ah,6 , mov al,14 mov bh,30h ;青 mov ch 6 http://lab.cug.edu.cn/ mov ch,6 China University of Geoscience
汇编语言程序设计实验课件 mov al,02h 参考程序: mov ah,Och mov ax,0004h int 10h int 10h inc si mov bx,00 inc si push bx dec bl mov ah,Obh jnz plo int 10h mov bx,50 mov bx,0003h pop bx mov ah,Obh pop dx int 10h pop cx mov bl,total pop bx mov si,offset dotyx pop ax mov ch,0 ret mov dh,ch yuan endp plo:mov dl,[si] code ends mov cl,[si+1] end main China University of Geoscience http://lab.cug.edu.cn/
汇编语言程序设计实验课件 参考程序: mov ax 0004h mov al,02h mov ah,0ch mov ax,0004h int 10h mov bx,00 h b int 10h inc si inc si pus 实验1 h b x mov ah,0bh int 10h dec bl jnz plo mov bx,50 mov bx,0003h mov ah,0bh int 10h mov bx,50 pop bx pop dx pop cx mov bl,total mov si,offset dotyx mov ch,0 pop cx pop bx pop ax mov t ch,0 mov dh,ch plo: mov dl,[si] mov cl [si+1] re t yuan endp code ends http://lab.cug.edu.cn/ mov cl,[si+1] end main China University of Geoscience