win10如何编写8086汇编程序

1.用8086汇编语言编程

;X86汇编_求0-9立方,显示结果

; MASM5.0编译后,运行无误

code segment

assume cs:code,ds:code

org 100h

start:

push cs

pop ds

Again:lea dx,Tips1

mov ah,9

int 21h ;显示提示

@In:mov ah,0

int 16h ;无回显输入

cmp al,1bh ;Esc退出程序

jz quit

cmp al,'0'

jb @Err

cmp al,'9';数据校验

jbe Q2

@Err:

mov ah,0eh

int 10h

lea dx,Err

jmp Q3

Q2:

mov X,al

sub al,'0'

mov dl,al

mul al

mul dl

lea si,Y

lea di,Z

mov cx,3

Q4:xor dx,dx

div word ptr [di]

or al,'0'

mov [si],al

inc si

inc di

inc di

mov ax,dx

loop Q4

lea dx,Result

Q3:

mov ah,9

int 21h

jmp Again

quit:

mov ah,4ch

int 21h

Err db 0dh,0ah,'INPUT ERROR!$'

Tips1 db 0dh,0ah,'Input(0-9),Esc to Quit: $'

Result db ' '

X db '0^3='

Y db '000$'

z dw 100,10,1

code ends

end start

2.8086汇编语言

DATAS SEGMENT

SJA DB 1,3,5,1,2

SJB DB 2,4,6,2,3

SJC DB 20,40,60,20,10

SJD DB 4,5,6,4,5

SJE DB 5,20,20,20,15

BUF1 DB 10 DUP(' ')

BUF2 DB 10 DUP(' ')

DATAS ENDS

STACKS SEGMENT

DW 10 DUP(0)

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV BX,0

LEA SI,BUF1

LEA DI,BUF2

MOV CX,5

A3: MOV DL,SJA[BX]

MOV AL,SJB[BX]

MUL DL

MOV BP,AX

MOV DL,SJD[BX]

MOV AL,SJC[BX]

CBW

DIV DL

MOV DX,BP

ADD DL,AL

ADC DH,0

SUB DL,SJE[BX]

SBB DH,0

CMP DX,0

JL A1

MOV [SI],DX

JMP A2

A1: MOV [DI],DX

A2: ADD SI,2

ADD DI,2

INC BX

DEC CX

JNZ A3

LEA SI,BUF1

MOV BP,10

A11:MOV AL,[SI+1]

CMP AL,' '

JE A13

MOV BL,AL

MOV CL,4

SHR AL,CL

AND BL,0FH

CMP AL,9

JA A31

ADD AL,30H

JMP A4

A31:ADD AL,37H

A4: MOV DL,AL

MOV AH,2

INT 21H

CMP BL,9

JA A5

ADD BL,30H

JMP A6

A5: ADD BL,37H

A6: MOV DL,BL

MOV AH,2

INT 21H

MOV AL,[SI]

MOV BL,AL

MOV CL,4

SHR AL,CL

AND BL,0FH

CMP AL,9

JA A7

ADD AL,30H

JMP A8

A7: ADD AL,37H

A8: MOV DL,AL

MOV AH,2

INT 21H

CMP BL,9

JA A9

ADD BL,30H

JMP A0

A9: ADD BL,37H

A0: MOV DL,BL

MOV AH,2

INT 21H

MOV DL,' '

MOV AH,2

INT 21H

A13:MOV CX,5

A14:MOV DL,' '

MOV AH,2

INT 21H

LOOP A14

A12:ADD SI,2

DEC BP

JNZ A11

MOV AH,4CH

INT 21H

CODES ENDS

END START

程序很长就不具体解释了,功能区都隔行了的,BUF1和BUF2之间会显示一串空格来分隔。

3.用8086汇编语言编写程序,实现如下功能:通过键盘输入10个学生成

DATA SEGMENT

BLZ1 DB 50 DUP (0)

BLZ2 DB 40,?,60 DUP (0),'$'

MESSAGE DB "Please Input:",'$'

HU DB 0DH,0AH,'$'

DATA ENDS

DUI SEGMENT STACK

DB 100 (0)

DUI ENDS

CODE SEGMENT

ASSUME CS:code,DS:data,SS:DUI

START:

MOV AX,DATA

MOV DS,AX

MOV AX,DUI

MOV SS,AX

XOR AX,AX

MOV DX,OFFSET MESSAGE

MOV AH,9

INT 21H

MOV DX,OFFSET BLZ2

MOV AH,10

INT 21H

MOV SI,OFFSET BLZ2+2

MOV DI,OFFSET BLZ1

MOV CH,10

CHANGE0:

MOV BL,[SI]

SUB BL,30h

MOV CL,4

SHL BL,CL

MOV [DI],BL

INC SI

MOV BL,[SI]

SUB BL,30h

ADD [DI],BL

ADD SI,2

INC DI

DEC CH

JNZ CHANGE0

MOV DX,0

MOV CX,9

MOV DI,offset BLZ1

MOV bx,0

AGAIN : MOV DL,BLZ1[bx]

MOV SI,BX

LOOP0: CMP DL,BLZ1[si]

JA LOOP1

XCHG DL,BLZ1[si]

MOV BLZ1[bx],dl

LOOP1: INC SI

CMP SI,10

JNZ LOOP0

LOOP2:

INC BX

CMP bx,10

JNZ AGAIN

MOV DX,OFFSET HU

MOV AH,9

INT 21H

XOR DX,DX

MOV DI,OFFSET BLZ1

OUT0 : MOV DL,[DI]

MOV DH,0

PUSH DX

MOV CL,4

SHR DL,CL

ADD DL,30h

MOV AH,2

INT 21h

POP DX

AND DL,0fh

ADD DL,30h

MOV AH,2

INT 21h

MOV DL,20h

MOV AH,2

INT 21h

INC DI

DEC BX

JNZ OUT0

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.8086汇编需要的程序(自己随意编写,不用复杂,满足要求就可以)

打印乘法口诀表

PRINT MACRO X

LEA DX,X

MOV AH,9

INT 21H

ENDM

STACKS SEGMENT STACK

DW 128 DUP(?)

STACKS ENDS

DATAS SEGMENT

MSG DB '* ************************ 99 list ******************************',13,10,'*',13,10,'*',20H,'$'

ED DB '***************************************************************','$'

ENTR DB 13,10,'*',20H,13,10,'*',20H,'$'

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

START: MOV AX,DATAS

MOV DS,AX

PRINT MSG

MOV CX,9

MOV BH,1 ;HANG

MOV BL,1 ;LIE

NEXT:

MOV DL,BL

ADD DL,30H

MOV AH,2

INT 21H

MOV DL,'x'

MOV AH,2

INT 21H

MOV DL,BH

ADD DL,30H

MOV AH,2

INT 21H

MOV DL,'='

MOV AH,2

INT 21H

MOV AH,0

MOV AL,BL

MUL BH

MOV DL,10

DIV DL

MOV DH,AH

MOV DL,AL

ADD DL,30H

MOV AH,2

INT 21H

MOV DL,DH

ADD DL,30H

MOV AH,2

INT 21H

MOV DL,20H

MOV AH,2

INT 21H

ADD BL,1

CMP BL,BH

JBE NEXT

PRINT ENTR

ADD BH,1

MOV BL,1

LOOP NEXT

EXIT:

PRINT ENTR

PRINT ED

MOV AX,4C00H

INT 21H

CODES ENDS

END START

5.微机

code segment

assume cs:code

org 100h

start: jmp begin

array db 100 dup(?)

sum db 0

begin: push cs

pop ds

push cs

pop es

lea si,array

mov cx,100

cld

@0:

lodsb

add byte ptr sum,al

loop @0

int 3

mov ah,4ch

int 21h

code ends

end start

6.8086汇编语言

DATAS SEGMENT SJA DB 1,3,5,1,2 SJB DB 2,4,6,2,3 SJC DB 20,40,60,20,10 SJD DB 4,5,6,4,5 SJE DB 5,20,20,20,15 BUF1 DB 10 DUP(' ') BUF2 DB 10 DUP(' ')DATAS ENDSSTACKS SEGMENT DW 10 DUP(0)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV BX,0 LEA SI,BUF1 LEA DI,BUF2 MOV CX,5A3: MOV DL,SJA[BX] MOV AL,SJB[BX] MUL DL MOV BP,AX MOV DL,SJD[BX] MOV AL,SJC[BX] CBW DIV DL MOV DX,BP ADD DL,AL ADC DH,0 SUB DL,SJE[BX] SBB DH,0 CMP DX,0 JL A1 MOV [SI],DX JMP A2A1: MOV [DI],DX A2: ADD SI,2 ADD DI,2 INC BX DEC CX JNZ A3 LEA SI,BUF1 MOV BP,10A11:MOV AL,[SI+1] CMP AL,' ' JE A13 MOV BL,AL MOV CL,4 SHR AL,CL AND BL,0FH CMP AL,9 JA A31 ADD AL,30H JMP A4A31:ADD AL,37HA4: MOV DL,AL MOV AH,2 INT 21H CMP BL,9 JA A5 ADD BL,30H JMP A6A5: ADD BL,37HA6: MOV DL,BL MOV AH,2 INT 21H MOV AL,[SI] MOV BL,AL MOV CL,4 SHR AL,CL AND BL,0FH CMP AL,9 JA A7 ADD AL,30H JMP A8A7: ADD AL,37HA8: MOV DL,AL MOV AH,2 INT 21H CMP BL,9 JA A9 ADD BL,30H JMP A0A9: ADD BL,37HA0: MOV DL,BL MOV AH,2 INT 21H MOV DL,' ' MOV AH,2 INT 21HA13:MOV CX,5A14:MOV DL,' ' MOV AH,2 INT 21H LOOP A14 A12:ADD SI,2 DEC BP JNZ A11 MOV AH,4CH INT 21HCODES ENDS END START程序很长就不具体解释了,功能区都隔行了的,BUF1和BUF2之间会显示一串空格来分隔。

7.如何用汇编语言(8086)实现这2个简单程序

1。 在内存BUFF单元中定义有10个16位数,试寻找其中的最大、最小值并分别放到指定的单元MAX和MIN中。

SSEG SEGMENT STACK

STK DB 20 DUP(?)

SSEG ENDS

DSEG SEGMENT

BUFF DW -5,56,45,-96,5,2,457,8,7,-8

MAX DW ?

MIN DW ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START: MOV AX,DSEG

MOV DS,AX

LEA BX,BUFF

MOV CX,10

MOV AX,[BX]

MOV MIN,AX

MOV MAX,AX

INC BX

DEC CX

AGAIN: MOV AX,[BX]

CMP AX,MIN

JE NEXT

JA A1

MOV MIN,AX

JMP NEXT

A1: CMP AX,MAX

JB NEXT

MOV MAX,AX

NEXT: INC BX

DEC CX

JNZ AGAIN

MOV AH,4CH

INT 21H

CSEG ENDS

END START

2。在BUFF开始的存储区中存放30个带符号数,试统计起正数、负数、零的个数,并将个数分别放到A1、A2、A3单元中。

SSEG SEGMENT STACK

STK DB 20 DUP(?)

SSEG ENDS

DSEG SEGMENT

BUFF DB ………………;省略掉

A1 DB ? ;正数

A2 DB ? ;负数

A3 DB ? ;零;

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START: MOV AX,DSEG

MOV DS,AX

LEA BX,BUFF

MOV DI,30

MOV CX,0

MOV DL,0

L1: MOV AL,[BX]

CMP AL,0

JE L2

JG L3

INC CL

JMP NEXT

L2: INC DL

JMP NEXT

L3: INC CH

NEXT: INC BX

DEC DI

JNZ L1

MOV A1,CH

MOV A2,CL

MOV A3,DL

MOV AH,4CH

INT 21H

CSEG ENDS

END START

win10如何编写8086汇编程序

转载请注明出处windows之家 » win10如何编写8086汇编程序

win10

win10如何降低3d程序占用cpu

阅读(122)

本文主要为您介绍win10如何降低3d程序占用cpu,内容包括win10怎么在任务管理器设置程序相关性啊我要取消3D跑图时的CPU,win10怎样减少cpu占用率,win10怎么降低cpu使用率。当打开任务管理器之后才看到原来cpu的使用率已经达到了100%,介绍二种

win10

win10如何跳过自诊断

阅读(107)

本文主要为您介绍win10如何跳过自诊断,内容包括win10怎么跳过开机检查,win10开机怎么跳过检查界面,win10开机怎么样跳过磁盘自检。首先我们手工去检查一下磁盘驱动器是不是有问题,进入驱动器属性。点击工具界面,可以看到检查驱动器中的文件错

win10

win10电脑如何连接蓝牙键盘

阅读(114)

本文主要为您介绍win10电脑如何连接蓝牙键盘,内容包括Win10蓝牙键盘怎么连接,win10蓝牙键盘已配对怎么连接,win10蓝牙键盘怎么连接电脑。Win10蓝牙键盘可通过以下步骤连接使用:确保蓝牙驱动安装成功,并且没有异常。如有异常,建议重装蓝牙驱动

win10

win10系统如何装server2005

阅读(112)

本文主要为您介绍win10系统如何装server2005,内容包括win10安装2005方法,如何在win8,win10中安装SQLServer2005,win10系统怎么安装SQLserver2005求大神。具体方法如下:下载软件,解压到该文件夹。2、这里根据自己的操作系统选择安装.(可以在计

win10

如何给固态安装原版win10

阅读(115)

本文主要为您介绍如何给固态安装原版win10,内容包括固态硬盘怎么安装原版win10系统,换了固态硬盘,如何在新的ssd上装正版win10,如何给固态硬盘装win10系统。1把下载好的win10原版系统复制到u盘启动盘中2启动到u盘启动盘,一般都是开机时快速

win10

如何查看自己win10激活版本

阅读(97)

本文主要为您介绍如何查看自己win10激活版本,内容包括如何查看本机Win10版本,激活状态,密钥KEY,怎么查看win10版本是否激活,Win10如何查看电脑是不是永久激活及版本查询。1.点击开始菜单按钮,选择“设置”(也可以通过其他方式打开“设置”应

win10

WIN10如何设置光猫桥接

阅读(178)

本文主要为您介绍WIN10如何设置光猫桥接,内容包括windows10怎么设置移动光猫本地连接,windows10怎么设置移动光猫本地连接,win10怎么连接猫。点击右下角电脑图标单击,点击网络设置win10怎样打开本地网络连接2点击以太网,更改适配器设置win10

win10

win10卡开机如何强制关机

阅读(154)

本文主要为您介绍win10卡开机如何强制关机,内容包括windows10强制关机,win10怎么强制关开机,win10版死机了,怎么关机。左键双击控制面板(控制面板已放到桌面),再单击电源选项;2、在打开的电源选项窗口,左键点击:选择电源按纽的功能,打开系统设置;3

win10

win10如何阻止一个软件运行

阅读(102)

本文主要为您介绍win10如何阻止一个软件运行,内容包括win10怎么禁止一个软件的运行,win10怎么禁止程序运行,win10系统怎么禁止软件运行。win10 怎么禁止程序运行?在使用win10电脑系统的时候,比如说某个程序比较隐私不想给别人使用,或者是家里

win10

win10如何开通所有共享设置

阅读(100)

本文主要为您介绍win10如何开通所有共享设置,内容包括win10电脑怎么设置共享权限设置,windows10电脑共享怎么设置,电脑win10系统怎么设置共享。7、在里在右击可以写入了,在单击”权限“、选择”共享“在单击”高级共享“。31.1。5。4。6,在别

win10

win10如何关闭系统错误

阅读(123)

本文主要为您介绍win10如何关闭系统错误,内容包括Win10系统怎么关闭Windows错误报告,win10电脑系统错误报告怎么关,Win10系统怎么关闭Windows错误报告。Win10系统中,如果我们运行一些程序出错了,系统就会弹出要求联机检查解决方案的提示,而检

win10

DELL3670如何重装WIN10系统

阅读(111)

本文主要为您介绍DELL3670如何重装WIN10系统,内容包括dell电脑3670装完WIN10启动不了,dell3670win10改win7bios设置,dell电脑3670装完WIN10启动不了。先准确至少是4G以上U盘,插入电脑,电脑下载老毛桃并安装打开,打开后按提示操作完成U盘PE启动

win10

win10中虚拟xp如何使用

阅读(172)

本文主要为您介绍win10中虚拟xp如何使用,内容包括用win10自带虚拟机怎么安装xp系统,Win10系统下如何设置XP虚拟机,如何在win10安装虚拟机xp。工具/原料 Win10 虚拟机 方法/步骤1. 首先,当然是需要开启Win10的虚拟机功能,在开始菜单处点击数遍

win10

win10系统如何升WIN7

阅读(135)

本文主要为您介绍win10系统如何升WIN7,内容包括怎样把windows10换成windows7,如何把电脑windows10改为windows7,电脑从win10升级到win7怎么弄。Windows 10是一款改变比大的操作系统了也是以的主流了,但有一些朋友直接使用win10系统有一点不

win10

win10如何降低3d程序占用cpu

阅读(122)

本文主要为您介绍win10如何降低3d程序占用cpu,内容包括win10怎么在任务管理器设置程序相关性啊我要取消3D跑图时的CPU,win10怎样减少cpu占用率,win10怎么降低cpu使用率。当打开任务管理器之后才看到原来cpu的使用率已经达到了100%,介绍二种

win10

win10如何跳过自诊断

阅读(107)

本文主要为您介绍win10如何跳过自诊断,内容包括win10怎么跳过开机检查,win10开机怎么跳过检查界面,win10开机怎么样跳过磁盘自检。首先我们手工去检查一下磁盘驱动器是不是有问题,进入驱动器属性。点击工具界面,可以看到检查驱动器中的文件错

win10

win10电脑如何连接蓝牙键盘

阅读(114)

本文主要为您介绍win10电脑如何连接蓝牙键盘,内容包括Win10蓝牙键盘怎么连接,win10蓝牙键盘已配对怎么连接,win10蓝牙键盘怎么连接电脑。Win10蓝牙键盘可通过以下步骤连接使用:确保蓝牙驱动安装成功,并且没有异常。如有异常,建议重装蓝牙驱动

win10

win10系统如何装server2005

阅读(112)

本文主要为您介绍win10系统如何装server2005,内容包括win10安装2005方法,如何在win8,win10中安装SQLServer2005,win10系统怎么安装SQLserver2005求大神。具体方法如下:下载软件,解压到该文件夹。2、这里根据自己的操作系统选择安装.(可以在计

win10

如何给固态安装原版win10

阅读(115)

本文主要为您介绍如何给固态安装原版win10,内容包括固态硬盘怎么安装原版win10系统,换了固态硬盘,如何在新的ssd上装正版win10,如何给固态硬盘装win10系统。1把下载好的win10原版系统复制到u盘启动盘中2启动到u盘启动盘,一般都是开机时快速

win10

如何查看自己win10激活版本

阅读(97)

本文主要为您介绍如何查看自己win10激活版本,内容包括如何查看本机Win10版本,激活状态,密钥KEY,怎么查看win10版本是否激活,Win10如何查看电脑是不是永久激活及版本查询。1.点击开始菜单按钮,选择“设置”(也可以通过其他方式打开“设置”应

win10

WIN10如何设置光猫桥接

阅读(178)

本文主要为您介绍WIN10如何设置光猫桥接,内容包括windows10怎么设置移动光猫本地连接,windows10怎么设置移动光猫本地连接,win10怎么连接猫。点击右下角电脑图标单击,点击网络设置win10怎样打开本地网络连接2点击以太网,更改适配器设置win10

win10

win10如何更好系统语言

阅读(91)

本文主要为您介绍win10如何更好系统语言,内容包括Win10怎么设置中文语言Win10如何切换中文语言,如何更改win10电脑系统语言,windows10怎么调系统语言。Win10英文系统语言怎么设置为中文语言?1噔噔噔噔!你看不懂英文语言不用怕,小Sun一步把英文