【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漏洞实验的应 ...
随机推荐
- Windows软件静默安装
Install Software in A Slient Way 一般来说,不同的软件的封装类型都有固定的静默安装命令. 查看软件的封装类型 双击setup.exe,在弹出窗口的左上角单击,选择&qu ...
- 文本处理三剑客之 Sed ——一般编辑命令
sed简介 sed (stream editor for filtering and transforming text) 是Linux上的文本处理三剑客之一,另外两个是grep和awk. sed又称 ...
- Beta版本 为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。
Beta版本 软件的测试版本,经常在各类著名软件中的前期发布版本的后缀中可见,包括大名鼎鼎的windows系统,这个阶段的版本一直加入一些新的功能. 软件测试可分为alpha测试.beta测试和联合测 ...
- webpack学习(五)配置详解
配置详解 //使用插件html-webpack-plugin打包合并html //使用插件extract-text-webpack-plugin打包独立的css //使用UglifyJsPlugin压 ...
- SAP UI5和微信小程序对比之我见
今天继续由SAP成都研究院著名的菜园子小哥Wang Cong,给大家分享他作为一个SAP前端人员是如何看待SAP UI5和微信小程序的异同点的. 关于Wang Cong种菜的手艺,大家请移步到他以前的 ...
- 发布Hessian服务作为服务内部基础服务
摘要:Hessian经常作为服务内部RPC工具来使用,速度快效率高.重构代码的核心思想就是把共用的代码段提出来,使代码结构优化:架构设计类似,把基本的共用的服务提出来,使架构优化.下面讲述一下我在具体 ...
- [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁
最近在掘金翻译了一篇文章,主要讲的是 Git 提交记录的维护,确实很有用,感兴趣的同学可以去看一下.链接如下: [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁 截图:
- Monad新解-FRP对比——ReactiveCocoa、RxSwift、Bacon以及背后的Functional
ReactiveX Rx的Observable的本质就是一个Event Monad,即上下文(就是图文教程中包裹的盒子)为Event的一个Monad,这里的Event定义,可以对应语言的struct或 ...
- PHP中__get()和__set()的用法实例详
刚刚看到一个对我有用的文章,我就把它摘抄下来了. php面 ...
- Codeforces Round #540 (Div. 3) F1. Tree Cutting (Easy Version) 【DFS】
任意门:http://codeforces.com/contest/1118/problem/F1 F1. Tree Cutting (Easy Version) time limit per tes ...