【8086汇编-Day8】实验九
Lab1
代码
; 在屏幕上输出内存单元中的十进制两位数
assume cs:code, ds:data
data segment
db
db , ; 前一个字节用于保存商,后一个字节用于保存余数
data ends
code segment
start:
mov ax,data
mov ds,ax ; 补全指令,使得ds <-- data段地址 mov ah,
mov al,ds:[] ; ax <-- data段字节单元的被除数12
mov bl,
div bl
mov ds:[],al ; 补全代码,让商保存到data段注释中指定的单元
mov ds:[],ah ; 补全代码,让余数保存到data段注释中指定的单元 mov ah,
mov dl,[] ; 补全代码,使得dl <-- data段中保存的商的字节单元数值
add dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h mov ah,
mov dl,[] ; 补全代码,使得dl <-- data段中保存余数的字节单元数值
add dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h mov ax,4c00h
int 21h
code ends
end start
结果
Lab2
代码
assume cs:code, ds:data,ss:stack
data segment
db ,,,,
db ,
data ends
stack segment
stack ends
code segment
start:
; 补全程序,参考t1.asm,综合应用以下知识完成:
; (1) loop指令、内存单元地址的灵活表示
; (2) div指令, 数字→数字字符的转换
; (3) int 21h的2号子功能,完成单个字符输出的方法,即:
; mov ah,2
; mov dl,待输出字符或其ASCⅡ码
; int 21h
; (4) 数据和数据之间以空格间隔的实现: 使用(3)输出空格字符
mov ax,data
mov ds,ax
mov bx,
mov cx, s:mov al,ds:[bx]
push bx
mov ah,
mov bl,
div bl
mov ds:[],al
mov ds:[],ah mov ah,
mov dl,ds:[]
add dl,30h
int 21h mov ah,
mov dl,ds:[]
add dl,30h
int 21h mov ah,
mov dl,' '
int 21h pop bx
inc bx loop s mov ax,4c00h
int 21h
code ends
end start
结果
Lab3
代码
; p187 实验9 assume ds:data, cs:code
data segment
db 'welcome to masm!'
db 2H,24H,71H ;字符串属性值
data ends
code segment
start: mov ax,data
mov ds,ax ;字符串及属性值所在段的段地址送入ds mov ax,0b800H
mov es,ax ;80×25彩色字符模式显示缓冲区段地址送入es mov cx,
mov bx,07beH; 添加代码,通过循环逐个将每个字符及其属性送入相应的显示缓冲区对应行
mov si,
s1:mov al,[si]
mov es:[bx],al; 即:将data段的字符及属性通过循环逐个mov到显示缓冲区(es)段相应的单元内
inc bx; 可以先尝试分别写三段代码,每次完成一行的显示
inc si; 程序运行起来后,再尝试通过灵活的寻址方式和循环,对三段代码修改和简化
mov di,10H
mov al,[di]
mov es:[bx],al; 学习第10章子程序后,还可以进一步完善优化,设计子程序,将行号、列号、颜色属性设置成入口参数
inc bx
loop s1
mov al,[si]
mov es:[bx],al
inc bx
inc si
mov al,
mov es:[bx],al
inc bx mov cx,
s2:mov al,[si]
mov es:[bx],al
inc bx
inc si
mov di,11H
mov al,[di]
mov es:[bx],al
inc bx
loop s2
mov al,[si]
mov es:[bx],al
inc bx
inc si
mov al,
mov es:[bx],al
inc bx mov cx,
s3:mov al,[si]
mov es:[bx],al
inc bx
inc si
mov di,12H
mov al,[di]
mov es:[bx],al
inc bx
loop s3 mov ax,4c00h
int 21h
code ends
end start
结果
【8086汇编-Day8】实验九的更多相关文章
- 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍
1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...
- Linux基础入门(新版)(实验九-实验十二)
实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [ ...
- 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础
2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...
- 实验九 ZStack 广播通信实验
实验九 ZStack 广播通信实验[实验目的]1. 了解 ZigBee 广播通信的原理2. 掌握在 ZigBee 网络中进行广播通信的方法[实验设备]1. 装有 IAR 开发工具的 PC 机一台2. ...
- 2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础
2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Sm ...
- 20155201 网络攻防技术 实验九 Web安全基础
20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...
- 20155222卢梓杰 实验九 Web安全基础
实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...
- # 2017-2018-2 20155231《网络对抗技术》实验九: Web安全基础实践
2017-2018-2 20155231<网络对抗技术>实验九: Web安全基础实践 实验要求: 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验内容: ( ...
- 20155235 《网络攻防》 实验九 Web安全基础
20155235 <网络攻防> 实验九 Web安全基础 实验内容 SQL注入攻击 XSS攻击 CSRF攻击 WebGoat WebGoat是OWASP组织研制出的用于进行web漏洞实验的应 ...
随机推荐
- Vim中增加ga键的vmap功能
ga是Vim自带的显示光标字符编码的功能,但是反过来,没有从编码显示对应字符的功能. 因为编码是多位数,所以可视模式下写了此功能. 规则: 纯数字认为是10进制 其他情况都认为是16进制 纯数字的话, ...
- S/4HANA业务角色概览之订单到收款篇
大家好我叫Sean Zhang,中文名张正永.目前在S/4HANA产品研发部门任职产品经理,而这一阶段要从2017年算起,而在那之前接触更多还是技术类的,比如做过iOS.HANA.ABAP.UI5等等 ...
- 理解JavaScript中的去抖函数
何为去抖函数?在学习JavaScript去抖函数之前我们需要先弄明白这个概念.很多人都会把去抖跟节流两个概念弄混,但是这两个概念其实是很好理解的. 去抖函数(Debounce Function),是一 ...
- Django中Settings中Templates的路径设置
## mysite/mysite/settings.py## mysite是项目名 TEMPLATES = [ { 'BACKEND': 'django.template.backends.djang ...
- io操作的要素
文件 操作. 操作说明 数据
- luogu3368树状数组模板2
题目链接:https://www.luogu.org/problemnew/show/P3368 题意:与模板1不同的是这题的操作是树状数组并不在行的区间更新和单点查找,如果按照模板1那样写肯定会T. ...
- 为什么机器能够学习——PAC Learnability
机器学习中,我们根据训练集训练一个模型,来对测试数据进行预测.通常我们并不关心模型在训练集上的好坏(即训练误差,in sample error),举个简单例子,我们想要根据前六个月股市行情训练一个模型 ...
- 学习openGL一——配置环境
openGL支持很多语言,C#, Java, Python, 和Lua.如果你没有使用C/C++,你必须下载和安装一个openGL包或库. 如果你使用了C/C++,你必须先建立一个编译环境,visua ...
- C#实现双向链表
原文:http://www.cnblogs.com/skywang12345/p/3561803.html#a33 没有C#版本的..是不是很方..不过图和说明很好,引用一下 双向链表 双向链表(双链 ...
- 100个常用的linux命令(转)
来源:JavaRanger – javaranger.com http://www.javaranger.com/archives/907 1,echo “aa” > test.txt 和 ...