微型计算机技术实验报告,微型计算机技术及应用实验报告.docx

253b171540df25e1b84436cbe50dfc72.gif微型计算机技术及应用实验报告.docx

微型计算机技术及应用 实习报告 2016年 12月 30日 一 实验要求 . 3 二 实验原理 . 3 三 代码结构 . 3 四 代码及注释 . 3 五 代码运行截图 . 20 一 实验要求 把一开始做的密码验证、进入图形界面、自己设置调色板并画图、画窗口、显示图像、定时中断控制、汉字显示以及多任务的实现等等整合起来,做成一个简单的可以 U 盘启动的简易系统,还可以加上简易输入法和动画等,每个人根据自己的能力和设想来完成最终的版本。 二 实验原理 输入密码( huang),后台检测是否正确。正确,进入优盘启动系统桌面,错误,显示 Error。并在桌面显示 Hi欢迎字样。并写明作者黄。 三 代码结构 首先写一个密码验证程序,然后验证成功后跳转到图形显示界面。在图形显示界面上画上需要显示的汉字。 四 代码及注释 ;判断密码是否正确,正确输出 success,失败输出 failed ;AX称为累加器 ,是 CPU中使用最多 ,功能最强 ,执行效率的寄存器 . ;BX称为基地址寄存器 ;CX称为计数寄存器 . ;DX称为数据寄存器 . ;没有本质上的区别 ,都是通用 16位寄存器 . org 0 x8400 jmp boot_start string db Error string1 db Welcome string2 db huang ;扩展键盘 ascii码 123456不同 ;db1 resb 10 ;在此处申请了一个 10个字节的空间 boot_start mov si, 0 ;累加器初始化为 0 for cmp si, 4 ;计数器 6 输入的字符数大于等于 6 ja success ;跳转 s执行 mov ah, 10h ;接受字符 int 16h ;16h里的 10h cmp al, string2si ;如果 al不等于 str2 jne error ;执行 error inc si ;累加器 1 jmp for ;循环执行 error ;输入密码错误 mov ax, cs ;13h的参数 mov es, ax mov bp, string ;Error mov ah,13h ;显示字符串 mov bh,0 mov bl,41h ;ah 高四位为背景色, al 低四位为字体色 颜色系统默认 mov cx, 6 ;字数 mov dh,2 ;行数 mov dl,3 ;列数 mov al, 1 int 10h ;调用 13h jmp end success ;输入密码正确 mov ax, cs mov es, ax mov bp, string1 mov ah,13h mov bh,0 mov bl,41h mov cx, 8 mov dh,2 mov dl,3 mov al, 1 int 10h jmp for4 for4 ;图像部分 mov AH, 00h ;进入图形模式 mov AL, 13h ;显示字符串 INT 10H mov ax, 0900h ;调色板信息已经被写入内存 9036H位置 mov es, ax ;接下来 256位 为调色板信息 mov bx, 0036h ;9000到 9036H 为图片信息 BMP mov ch, 0h for2 mov al, ch ;dx端口编号 mov dx, 3c8h ;al 端口值 out dx, al ;开始编辑调色板 mov dx, 3c9h ;R mov al, byte esbx2 ;div/4 shr al, 1 ;shr为逻辑右移指令 shr al, 1 ;颜色太深,除以 4 out dx, al mov al, byte esbx1 ;G shr al, 1 shr al, 1 out dx, al mov al, byte esbx ;B shr al, 1 shr al, 1 out dx, al add bx, 4 inc ch cmp bx, 0436h ja x jmp for2 x ;画板信息 mov ax, 0 xa000 ;段基址 mov ds, ax mov bx, 0 ;偏移地址 mov ax, 0900h ;图片内存地址 mov es, ax mov bp, 0436h add bp, 0 xFA00 ;320*20064000 到图片尾部 for3 mov cl, byte esbp mov byte dsbx, cl inc bx sub bp, 1 ;倒着画 cmp bx, 0 xFA00 ;检测图片是不是画完了 ja z ;画完了 结束 jmp for3 ;没有 执行循环 z mov ax,0a000h ;起始点 mov es,ax ;段基址 mov bx,57e4h ;最初起始点 70*32010022500 mov ax,0 ;初始化 a mov byte esbx,04eh ;04eh红色 画点 add bx,320 ;每隔 320像素点画一次 cmp bx,0a2e4h ;判断是否到达终止点 130*32010041700 ja b ;到达终点跳到下一个起始点 jmp a ;未到到终点 执行循环 b mov bx,7d64h ;下一个起点 100*32010032100 c mov byte esbx,04eh add bx,1 cmp bx,7d82h ;100*320130 32130 ja d jmp c d mov bx,5802h ;70*320130 22530 e mov byte esbx,04eh add bx,320 cmp bx,0a302h ;130*320130 41730 ja f jmp e f mov bx,5820h ;70*320160 22560 g mov byte esbx,04eh add bx,320 cmp bx,64a0h ;80*320160 25760 ja h jmp g h mov bx,7da0h ;100*320160 32160 i mov byte esbx,04eh add bx,320 cmp bx,0a320h ;130*320160 41760 ja j jmp i j mov bx,583eh ;70*320190 22590 k mov byte esbx,04eh add bx,320 cmp bx,7dbeh ;100*320190 32190 ja l jmp k l mov bx,96beh ;120*320190 38590 m mov byte esbx,04eh add bx,320 cmp bx,0a33eh ;130*320190 41790 ja n jmp m n mov bx,1914h ;20*32020 6420 黄字开始 o mov byte esbx,04h add bx,1 cmp bx,1950h ;20*32080 6480 第一横 ja p jmp o p mov bx,3200h ;40*320 12800 第二横开始 q mov byte esbx,04h add bx,1 cmp bx,3264h ;40*320100 12900 ja r jmp q r mov bx,28h ;40 第三竖开始 s mov byte esbx,04h add bx,320 cmp bx,3228h ;40*32040 12840 ja t jmp s t mov bx,3ch ;60 第四竖开始 u mov byte esbx,04h add bx,320 cmp bx,323ch ;40*32060 12860 ja v jmp u v mov bx,4b1eh ;60*32030 19230 第五竖 w mov byte esbx,04h add bx,320 cmp bx,7d1eh ;100*32030 32030 ja xx jmp w xx mov bx,4b1eh ;60*32030 19230 第六横 y mov byte esbx,04h add bx,1 cmp bx,4b46h ;60*32070 19270 ja aa jmp y aa mov bx,4b46h ;60*32070 19270 第七竖 bb mov byte esbx,04h add bx,320 cmp bx,7d46h ;100*32070 32070 ja cc jmp bb cc mov bx,641eh ;80*32030 25630 第八横 dd mov byte esbx,04h add bx,1 cmp bx,6446h ;80*32070 25670 ja ee jmp dd ee mov bx,7d1eh ;100*32030 32030 第九横 ff mov byte esbx,04h add bx,1 cmp bx,7d46h ;100*32070 32070 ja gg jmp ff gg mov bx,3eb2h ;50*32050 16050 第十竖 hh mov byte esbx,04h add bx,320 cmp bx,7d32h ;100*32050 32050 ja ii jmp hh ii mov bx,9628h ;120*32040 38440 第十一撇 jj mov byte esbx,04h add bx,319 cmp bx,0af14h ;140*32020 44820 ja kk jmp jj kk mov bx,963ch ;120*32060 38460 第十二捺 ll mov byte esbx,04h add bx,321 cmp bx,0af50h ;140*32080 44880 ja z jmp ll end jmp end ;成功后跳转 jmp end ;成功后跳转 五 代码运行截图 输入密码错误 输入密码正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值