微机接口技术与汇编语言上机实验报告_汇编初步(intel8086)

本文主要是介绍微机接口技术与汇编语言上机实验报告_汇编初步(intel8086),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文出自:blog.csdn.net/svitter

实验环境:intel x386

 

一。要求:将3000H单元开始置数为00H-0FH

SSTACK	SEGMENT STACKDW 32 DUP(?)
SSTACK	ENDSCODE	SEGMENTASSUME CS:CODE, SS:SSTACK
START:	PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3000HMOV CX, 16
AA1:	MOV [SI], ALINC SIINC ALLOOP AA1 		;CX == 0? NEXT():AA1MOV AX, 4C00H	;AH = 4C STOP CUR, RETURNINT 21H
CODE 	ENDSEND START


 二。要求:将3500H后8位置入3600H开始的8位

有两种解法

1.

SSTACK 	SEGMENT STACKDW 32 DUP(?)
SSTACK 	ENDSCODE	SEGMENTASSUME CS:CODE, SS:SSTACK
START:	PUSH DSXOR AX, AX		;SET AX = 0000HMOV DS, AXCLD				;CLOSE INTERUPTEMOV SI, 3500HMOV BX, 3600HMOV CX, 8		;FOR LOOP
AA1:	MOV AL, [SI]		;REP MOVSB 	;DS:[SI] -> ES:[DI], SI+1, DI+1MOV [BX], ALINC SIINC BXLOOP AA1		;CX == 0 ? NEXT() : AA1MOV AX, 4C00HINT 21H
CODE 	ENDSEND START

2.

SSTACK 	SEGMENT STACKDW 32 DUP(?)
SSTACK 	ENDSCODE	SEGMENTASSUME CS:CODE, SS:SSTACK
START:	PUSH DSXOR AX, AX		;SET AX = 0000HMOV DS, AXCLD			;CLOSE INTERUPTEMOV ES, AXMOV SI, 3500HMOV DI, 3600HMOV CX, 8		;FOR LOOPREP	MOVSB 		;DS:[SI] -> ES:[DI], SI+1, DI+1MOV AX, 4C00HINT 21H
CODE 	ENDSEND START


 

 三。要求:将数据段中的str1赋给str2

 

DATA SEGMENTSTR1 DB 'ABCDEFGHIJKLN'COUNT EQU $-STR1				;$的值表示count的偏移地址, 而str1是BUF所占用的字节数STR2 DB COUNT DUP(0)
DATA ENDS
SSTACK SEGMENT STACK				;!!--DEF--!汇编程序发现这是堆栈段,执行的时候会直接使SSTACK -> SSDB 200H DUP(0)
SSTACK ENDSCODE SEGMENTASSUME DS:DATA, ES:DATA, SS:SSTACK, CS:CODE	;DATA(DATA SEGMENT);ES(EXTRA DATA SEGMENT);SSTACK -> SS(STACK SEGMENT);CODE -> CS(CODE SEGMENT)
START:MOV	AX, DATAMOV DS, AXMOV ES, AXLEA SI, STR1LEA DI, STR2		MOV CX, COUNTCLD							;Direction Flag to 0 (0 -> DF)
LP1:	MOVSB						;DS:[SI] -> ES:[DI], SI++, DI++ DEC CX						;JNZ LP1 					;THREE SENTENCE == REP MOVESB, CX FOR COUNTMOV AH, 4CH					;MOV AX, 4C00HINT 21H
CODE	ENDSEND START                              


 二。要求:将3500H后8位置入3600H开始的8位

 


 四。要求:使用DOS接口输出一段字符串

DATA SEGMENTMESSAGE DB 'please input your name!' , 0DH, 0AH, '$'
DATA ENDS
CODE SEGMENT
START:	MOV AH, 09HMOV DX, SEG MESSAGEMOV DS, DXMOV DX, OFFSET MESSAGEINT 21H...
CODE ENDS


 

 

这篇关于微机接口技术与汇编语言上机实验报告_汇编初步(intel8086)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757492

相关文章

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

初步学习Android的感想

之前在学习java语言的时候就经常听说过Android这门语言,那时候感觉Android有些神秘感,再加上Android是用来开发移动设备的一门语言,所以一直对Android抱有一种兴奋的心情。 在我开始接触 Android之后,感觉超好玩,因为可以在自己的手机设备上开发一些我喜欢的小应用,再想想之前说学习Android应该会很难,但是如果你真的接触了,而且有JAVA的功底,我想学习Androi

汇编:嵌入式软件架构学习资源

成为嵌入式软件架构设计师需要掌握多方面的知识,包括嵌入式系统、实时操作系统、硬件接口、软件设计模式等。 以下是一些推荐的博客和网站,可以帮助你深入学习嵌入式软件架构设计: ### 1. **Embedded.com**    - **网址**: [Embedded.com](https://www.embedded.com/)    - **简介**: 这是一个专注于嵌入式系统设计的专业网

初步了解VTK装配体

VTK还不太了解,根据资料, vtk.vtkAssembly 是 VTK库中的一个重要类,允许通过将多个vtkActor对象组合在一起来创建复杂的3D模型。 import vtkimport mathfrom vtk.util.colors import *filenames = ["cylinder.stl","sphere.stl","torus.stl"]dt = 1.0renW

汇编语言知识基础介绍

汇编语言是一种低级编程语言,直接与计算机硬件的指令集架构(ISA)对应。它在操作系统、设备驱动程序和性能关键的应用程序中起着重要作用。以下是汇编语言的基础介绍: 1. 基本概念 指令集架构(ISA):汇编语言与特定的处理器架构(如 x86、ARM)对应,每种架构有其特定的指令集。汇编指令:汇编语言的语法是处理器指令的符号表示,通常包括操作码(opcode)和操作数。操作码指定操作的类型,操作数

GDB 查看汇编

查看汇编 x disassemble

C语言-程序环境 #预处理 #编译 #汇编 #链接 #执行环境

文章目录 前言 一、程序的环境翻译和执行环境 二、翻译环境 (一)、整体把握 (一)、编译 1、预处理(预编译) 2、编译 a、词法分析 b、语法分析 c、语义分析 d、符号汇总 3、汇编 (二)、链接 三、运行环境 总结​​​​​​​ 前言 路漫漫其修远兮,吾将上下而求索; PS:本文参考了《程序员的自我修养》,致敬大佬们! 一、程序的

Weka的初步介绍

Weka无疑是数据挖掘入门的最好工具,初学者可以直接使用图形界面了解数据挖掘的相关算法(如何使用网上有很多教程,可以参考 http://download.csdn.net/detail/u013422712/8649239)。     进阶阶段就必须学会使用和了解Weka的源码,这会在接下去的文章中写道。

Linux 技巧汇编

10个重要的Linux ps命令实战 显示所有当前进程 根据用户过滤进程 通过cpu和内存使用来过滤进程 通过进程名和PID过滤 根据线程来过滤进程 树形显示进程 显示安全信息 格式化输出root用户(真实的或有效的UID)创建的进程 使用PS实时监控进程状态 https://linux.cn/article-4743-1.html Python 云服务器应用 | Http