编写8086汇编语言程序,将寄存器BX的高8值传送到寄存器DH,低8位传送到 寄存器DL。

作者&投稿:漕悦 (若有异议请与网页底部的电邮联系)
编写8086汇编语言程序 将寄存器AX的高8位传送到寄存器BL ,AX的低8位传送到寄存器DL. 跪求啊~

mov BL,AH
mov DL,AL

我对汇编不熟悉,帮你顶一下。
应该是将DX右移,然后与上0xFF,然后分别存放在AL,BL,CL,DL中就可以了。

8086是16位的,你问的应该是把BH(或者BL)的低八位和高八位分别送至DL和DH之中吧,下面我就举例把BH的高八位送至DH,低八位送至DL,(假如你想把BL拆分的话,只要把BH换为BL就可以了)只写主要部分给您,其他的不写
MOV AH,BH
AND BH,0F0H
MOV DH,BH
AND AH,0FH
MOV DL,BH
假如你真的想要将寄存器BX的高8值传送到寄存器DH,低8位传送到 寄存器DL
直接送就可以了
MOV DH,BH
MOV DL,BL
或者直接MOV DX,BX

8086及其以后的x86系列cpu中,AL,AH,BL,BH,CL,CH,DL,DH,这八个8位寄存器可以分别寻址,直接使用即可。
;代这样写
mov dh, bh
mov dl, bl
;另外 8086是16位处理器,可以直接一个16位操作搞定
mov dx, bx

mov dh,bh
mov dl,bl
大哥给你个最简单的指令
就是
mov dx,bx
其时就是把BX的值传送到DX嘛

MOV DX, BX
或者
MOV DH, BH
MOV DL, BL

首先.bx值传入一个寄存器中备份,在用个移位就可以啦!


8086汇编语言程序设计?
;===QWERT SEGMENT TOTAL DW 6000 ;金额数, 皆乘10 HHH DW 15 ;以便包容一位小数 LLL DW 12 STAND DW 80 XXX DW 102, 90, 67, 89, 98, 125QWERT ENDS;===ZXCVB SEGMENT ASSUME CS: ZXCVB, DS:QWERTSTART: MOV AX...

8086汇编语言,mov word ptr x,ax,什么意思?
这条指令的功能是:\\x0d\\x0a将16位寄存器AX中的数据,复制传送到变量X所指向的两个字节16位存储单元中。\\x0d\\x0a\\x0d\\x0a本来,若变量X定义成了16位的字类型变量(即用DW定义),可以直接写 MOV X, AX\\x0d\\x0a但因为X未定义成字,可能是用DB定义成了8位的字节,也可能是用DD...

8086\/8088汇编语言编一程序
ESC键 VK_ESCAPE (27)回车键: VK_RETURN (13)TAB键: VK_TAB (9)Caps Lock键: VK_CAPITAL (20)Shift键: VK_SHIFT ($10)Ctrl键: VK_CONTROL (17)Alt键: VK_MENU (18)空格键: VK_SPACE ($20\/32)退格键: VK_BACK (8)左徽标键: VK_LWIN (91)右徽标键: VK_LWIN (...

用8086汇编语言编写一个输入字符串的程序
代码如下:DSEGSEGMENTSPACESDB 20H, 20H, 20H, 20H, 24HLINEDB0DH, 0AH, 24HDSEGENDSSSEGSEGMENT PARA STACKDW 256 DUP(?)SSEGENDSCSEGSEGMENTASSUME CS:CSEG,DS:DSEGBEGIN:MOV AX, DSEGMOV DS, AXLOOP1:MOV AH, 08HINT 21H; 判断回车键MOV DL, ALCMP DL, 0DHJNE LOOP3MOV DX, ...

求一个8086汇编语言程序!急!!! 要求:提示输入x,y,z的值,并显示_百度知 ...
确实是的,dos下的东西,还要32位的整数,有些啰唆。下面给个无符号16位整数的。code segment assume cs:code org 100hstart: push cs pop ds push cs pop es lea dx,msg mov ah,9 int 21h call inputnum lea si,array mov ax,[si+2] mov bx...

用汇编语言 8086软件 从键盘输入字符串 (可能还有大写字母,小写字母...
;从键盘输入字符串 (可能还有大写字母,小写字母,数字及空格) ,;对该字符串进行处理,把大写字母变成小写字母,小写字母变成大写字母,去掉数字及空格,;然后再屏幕上显示该字符串;ASSUME CS:CC, DS:QQ QQ SEGMENT MSG1 DB 'Input the string : ', 13, 10, '$'MSG2 DB 13,...

8086汇编语言编写,键盘输入4位16进制数,屏幕输出对应的十六进制数,十进...
dseg segment errmsg db 0dh,0ah,'Input invalid char$' crlf db 0dh,0ah,'$'dseg endsassume cs:cseg, ds:dsegcseg segment start: mov ax, dseg mov ds, ax call readhex ;read number in (bx) mov ah,9 lea dx, crlf int 21h call printHex mov ah...

用8086汇编语言编写 把16进制数转化为ASCII码
code segment assume cs:code org 100hstart: jmp bbbnum dw 0FF78harray db 10,13,4 dup(?),10,13,'$'bbb: push cs pop ds push cs pop es ;以下是通过移位取出各位16进制数并放入数组array中 lea di,array add di,5 mov cx,4 mov ax,wo...

编写汇编语言程序,用8086指令实现两个32位无符号数相加
assume cs:csegcseg segment hextab db '0123456789ABCDEF' A dd 11118888H b dd 33339444H c dd 0start: mov ax, cseg mov ds, ax mov ax, word ptr a add ax, word ptr b mov word ptr c, ax mov ax, word ptr a+2 adc ax, word ptr b+2 mov word ptr ...

CPU8086 汇编语言
你提的问题 太大了 1. 开关的信号和cpu 匹配的话, 你需要一个锁存器, 因为8086 数据和地址线是复用的, 锁存T1-T2 周期的地址信息。2.自己设计一个地址,可以通过译码器或与逻辑电路实现选通信号。3.编程很简单: MOV DX, 你设计的地址 IN AX\/AL , DX 就能得到你需要的信号。

从江县15332348192: 编写8086汇编语言程序 将寄存器AX的高8位传送到寄存器BL ,AX的低8位传送到寄存器DL. 跪求啊 -
顾昨复方: 你自己可以试着做啊.1. move ax,1200h, ax==1200h2.move ax,bx ax==bx==0100h3.move ax [1200h] ax=ds:1200=2ah4.move ax,[bx] ax=ds:[bx]=ds:0100=12h5.mov ax,1100h[bx] ax=ds:[bx+1100]=ds:[1200]=2ah6.move ax,[bx][si] ax=ds:[bx+si]=ds:0102 = 56h7.mov ax,1100[bx][si] ax=ds:bx+si+1100=ds:1202=b7

从江县15332348192: 编写8086汇编语言程序,将寄存器BX的高8值传送到寄存器DH,低8位传送到 寄存器DL. -
顾昨复方: 8086是16位的,你问的应该是把BH(或者BL)的低八位和高八位分别送至DL和DH之中吧,下面我就举例把BH的高八位送至DH,低八位送至DL,(假如你想把BL拆分的话,只要把BH换为BL就可以了)只写主要部分给您,其他的不写 MOV AH,BH AND BH,0F0H MOV DH,BH AND AH,0FH MOV DL,BH 假如你真的想要将寄存器BX的高8值传送到寄存器DH,低8位传送到 寄存器DL 直接送就可以了 MOV DH,BH MOV DL,BL 或者直接MOV DX,BX

从江县15332348192: 求一段简单的8086汇编语言程序设计 -
顾昨复方: code segment assume cs:code start:mov bl,ah ;寄存器AX的高8位传送到寄存器BL mov dl,al ;AX的低8位传送到寄存器DL int 20h ;结束 code ends end start

从江县15332348192: 根据以下要求写出相应的8086汇编语言指令. (1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中. -
顾昨复方: 文中的S是si吗? L1: add dx,bx ret L2: add al,word ptr ds:[bx+si] ret L3: add ds:[bx+0bf2h],cx ret L4: add ds:[0524h],2a59h ret L5: add al,00b5h ret 如果还是不懂加我Q,228961125

从江县15332348192: 汇编语言8086寄存器寻址 -
顾昨复方: BX是源操作数,AX是目的操作数.执行结果是将BX中的内容读出,存入AX中,替换掉了原来AX中的3064H.计算机内存或寄存器中的数据,在当成源操作数时,都是“读取”,或者说是“复制”.取出一个数,原来的内容不会改变.可以多次重复取出,它“取之不尽”.要改变一个内存单元或寄存器中的数据,仅仅只有两种方法:一是写入一个新的数据去替换掉原来的数,二是断电让数据消失.

从江县15332348192: 8086汇编语言如何将寄存器的数据转到变量,mov Y,DX行不通 -
顾昨复方: 没问题呀.关键你要设置Y的段地址,例如:code segment assume cs:code org 100h start: push cs pop ds push cs pop es mov Y,dx int 3 mov ah,4ch int 21h Y dw ?code ends end start

从江县15332348192: 在汇编语言中,8086,80x86有多少个寄存器 -
顾昨复方: 8086、8088,这两种 CPU,都是共有 14 个 16 位寄存器.80x86,这就包括了 286、386 ...,很多种 CPU. 它们含有的寄存器,花样,就多了.

从江县15332348192: 8086汇编语言给寄存器赋值可不可以使用算式? 比如:MOV AX,(7 - 3)*12 -
顾昨复方: 完全可以.

从江县15332348192: 用汇编语言编程,将8位寄存器(如AL)中的数值以十进制的形式显示在计 -
顾昨复方: code segment assume cs:code org 100h start:push cs pop ds push cs pop es mov al,99 call dispnum mov ah,4ch int 21h dispnum proc near push ax push bx push cx push dx push si push di push bp pushf ; 将要显示的数据放入AL中 mov ah,0 mov ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网