精华内容
下载资源
问答
  • mips汇编时常用指令

    千次阅读 2017-05-18 18:07:20
    MIPS公司最初设计汇编器是一个宏伟计划,它能完成智能宏扩展,延迟槽填充,窥孔优化以及尽可能减少流水线堵塞而对复杂指令序列进行指令重组。不过其他汇编器简单多了,因为高级语言先进编译器技术已经可以...

    MIPS公司最初设计的汇编器是一个宏伟的计划,它能完成智能宏的扩展,延迟槽填充,窥孔优化以及尽可能减少流水线堵塞而对复杂指令序列进行指令重组。不过其他的汇编器简单多了,因为高级语言的先进编译器技术已经可以完成这些优化工作。为了保持汇编代码的兼容性,同时为了让汇编程序员轻松一点,所有的MIPS汇编器至少实现下列功能:

    (1)进行宏展开

    (2)为了让分支和加载指令的延迟槽对程序员透明,能够在需要的地方自动插入nop指令

    (3)能够避免流水线在执行普通指令时出错。


    1,set noreord/reorder

    默认汇编器处在reorder的模式下。该模式允许汇编器对指令进行重新排序,以避免流水线阻塞并获得更好的性能,在这种模式下,是不允许在代码中插入nop指令的。反之,在noreorder模式下,指令的顺序不会被更改也不会对代码进行任何优化。这样做的优点是程序员可以完全控制代码的顺序执行,缺点是必须手工对指令进行排序,并在分支和加载指令的延迟槽中填上有用的指令或nop指令如:

    .set  noreorder

    lw t0,0(a0)

    nop         #加载延迟槽

    sub t0,1

    bne t0,zero,loop

    nop         #分支延迟槽

    .set reorder


    2,set volatile/ novolatile

    处在volatile区的所有存取指令都不会被移动位置(特别是存取指令之间的相对位置)。这一点对访问内存映射设备的寄存器非常重要。因为对于外围设备而言,读写的次序十分重要。另外对读状态寄存器也非常重要。因为想得到的状态都是最新的。举例来说,如果下面代码没有使用.set vilatile ,那么汇编器很有可能会对第二个lw指令移到指令的前面,因为这样可以填充第一条lw指令的延迟槽:

    .set  volatile

    lw to,0(a0)

    sw t0,0(a1)

    lw t0,4(a0)

    .set novolatile


    3,set noat

    阻止汇编器将汇编代码翻译成二进制序列依赖at / $1 寄存器


    4,set  nomacro

    阻止汇编器将一条汇编代码翻译成多条指令


    展开全文
  • “中继”: 该键为局内交换切向中继交换的功能按键,按下此键,再按“确认”键进行确认,则工作模式由局内交换切换为中继交换,显示器循环显示“d”,此时方可通过中继拨打“长途”电话。按“复位”键重启系统,进入...
  • 在正常操作期间,一次WDT 超时溢出将产生一次器件复位。...为避免发生不可预测器件复位,当从Timer0 预分频器分配改为WDT 后分频器分配时,必须执行下列指令序列。即使WDT 被禁止,也要执行这个...

    在正常操作期间,一次WDT 超时溢出将产生一次器件复位。如果器件处于休眠状态,一次WDT超时溢出将唤醒器件,使其继续正常操作(即称作WDT 唤醒)。对WDTE 设置位清零可以永久性地关闭WDT。

    849d312e76db27808d3ac8bfdb4c6c7d.png

    后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。

    为避免发生不可预测的器件复位,当从Timer0 预分频器的分配改为WDT 后分频器的分配时,必须执行下列指令序列。即使WDT 被禁止,也要执行这个指令序列。

    如图所示是看门狗定时器的功能框图。

    c78e050f44db108c45f67a6dacb6b2e9.png

    S3C44B0X看门狗定时利用MCLK作为时钟源,经过8位的预分频和4选1的2位分割之后得到所需频率。预分频值和频率分割值在看门狗定时器控制寄存器WTCON中配置,有效的预分频值范围为0~28-1,频率分割系数可选为16、32、64或128。使用下列公式计算看门狗定时频率和每个定时器时钟周期值。

    c0ce4e51febc456c7ed68872e9b3e430.png

    twatchdog=1/MCLK/(预分频值+1)/分频系数

    看门狗定时器使能后,WTDAT(看门狗定时器数据寄存器)不能自动装入WTCNT(看门狗定时计数寄存器)。因此,在看门狗定时器开始工作前,初值必须写到看门狗定时计数寄存器WTCNT中。

    展开全文
  • 标记为绿色的功能或指令是充分支持的,黄色的功能是部分支持或计划在下一版本中支持,标示为红色的功能是不支持的。 13 3.3使用环境以及处理顺序 16 字面值 17 通配符 18 重复 18 懒惰型重复 18 插入成份 19 无标记...
  • 第8章汇编测试题目 共4道单选题目 下列指令序列不能够实现把内存地址0:202h中字节数据送入al功能的是___(3)___。 1、 mov ax,0 mov ds,ax mov bx,202h mov al,[bx] 2、 mov ax,0 mov ds,ax mov bx,200h

    第8章汇编测试题目

    共4道单选题目

     

     

    下列指令序列不能够实现把内存地址0:202h中的字节数据送入al功能的是___(3)___。

      1、 

         mov ax,0
         mov ds,ax
         mov bx,202h
         mov al,[bx]
     2、 

         mov ax,0
         mov ds,ax
         mov bx,200h
         mov al,[bx+2]
     3、 

         mov ax,0
         mov ds,ax
         mov bp,202h
         mov al,[bp]
     4、 

         mov ax,0
         mov ds,ax
         mov bp,200h
         mov al,ds:[bp+2]

     

    分析:参考《汇编语言》第一版第149页,只要在[...]中使用寄存器bp,而指令中没有显性地给出段地址,段地址默认在ss中,所以,选项3不能实现。

     

     

     

    下列指令不合理的是___(3)___。 
     1、  mov ds:[0ffh],al
     2、  mov ds:[0ffh],ax
     3、  mov ds:[0ffh],0ffh
     4、  push ds:[0ffh]

     

     

    分析:

    不支持把立即数放到内存中。

     

     

     

    mov dx,0 
    mov ax,1001 
    mov bx,100 
    div bl
        

    以上四条指令执行完后,ah值是__(1)___。 
     1、  1
     2、  10
     3、  1001
     4、  0

     

    分析:

    因为bl是8位数,即除数为8位,则被除数为ax,运完完毕后,al中放的是商,ah中放的是余数。

    1001/100 余数为1

     

     

    对如下程序:
         assume cs:codesg,ds:datasg
         datasg segment
          dd 123456h
          dw 789h,0h
         datasg ends
         codesg segment
         start: mov ax,datasg
          mov ds,ax
          mov ax,ds:[0]
          mov dx,ds:[2]
          div word ptr ds:[4]
          mov ds:[6],ax
          mov ax,4c00h
          int 21h
         codesg ends
         end start


         下列说法正确的是___(4)___。
     1、  该程序实现的功能是计算123456h与78900h相除。
     2、  该程序由于数据定义非法,无法通过编译。
     3、  指令div word ptr ds:[4]可改为div near ptr ds:[4],不影响程序功能。
     4、  指令div word ptr ds:[4]采用了直接寻址方式。

     

    分析:

    1、错误,计算的是123456h与789h相除

    2、数据定义不非法

    3、两个指令的含义不同 word ptr指明了内存单元的长度  near ptr用在跳转指令中

    4、正确 

     

    展开全文
  • 语音识别MATLAB实现

    热门讨论 2009-03-03 21:39:18
    为了使路径不至于过分倾斜,可以约束斜率在0.5-2范围内,如果路径已经通过了格点( ),那么下一个通过格点( )只能是下列三种情况之一: 搜索最佳路径方法如下: 搜索从( )开始,网格中任意一点只可能有一条路径...
  • 5、下列指令指令序列中,能将外部数据存储器3355H单元内容传送给A是( )。 A、MOVX A,3355H B、MOV DPTR,#3355H MOVX A,@DPTR C、MOV P0,#33H MOV R0,#55H MOVX A,@R0 D、MOV P2,#33H MOV R2,#55H ...
  • 2004-2010软考程序员真题

    热门讨论 2012-09-27 12:33:00
    40、微型计算机中,控制器基本功能是  A)进行算术运算和逻辑运算 B)存储各种控制信息  C)保持各种控制状态 D)控制机器各个部件协调一致地工作  41、下列设备中,既能向主机输入数据又能接收主机输出数据...
  • 唐朔飞计算机组成原理答案完整版

    热门讨论 2011-12-11 21:51:19
    CU:Control Unit,控制单元(部件),为控制器核心部件,其功能是产生微操作命令序列。 ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器核心部件,其功能是进行算术、逻辑运算。 ACC:Accumulator...
  • 单片机期末考试题目及答案详解

    热门讨论 2009-06-23 10:30:30
    13.执行如下指令序列: MOV C,P1.0 ANL C,P1.1 OR C,/P1.2 MOV P1.3,C 后,所实现逻辑运算式为 。 14.假定addr11=00100011001B,标号MN地址为2099H。执行指令: MN:AJMP addr11 后,程序转移到地址...
  • 下列图符名标识图符不属于数据流图合法图符是______。(A) A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。(B) A...
  • 所谓指令系统指是一个计算机系统能执行所有指令的集合。 (2)数据结构研究3个方面 ① 数据集合中各数据元素之间所固有逻辑关系,即数据逻辑结构; ② 在对数据进行处理时,各数据元素在计算机中存储...
  • 1文本、声音、(图形), (图像)和(动画)等信息载体中两个或多个组合成为多媒体。 2多媒体技术具有(集成性),(实时性), (交互性)和高质量等特性。...9为解决某一特定问题而设计的指令序列称为(程序)。
  • 2.13.3 C++/CLI特有的功能—— 格式化输出 88 2.13.4 C++/CLI的键盘输入 91 2.13.5 使用safe_cast 92 2.13.6 C++/CLI枚举 92 2.14 查看C++/CLI类型 96 2.15 小结 97 2.16 练习 97 2.17 本章主要内容 98 第3...
  • (47) 在结构化方法中,软件功能分解属于下列软件开发中阶段是(C) 注:总体设计也就是概要设计 A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试 (48) 软件调试目的是(B) 注:与软件测试要对比着复习 A.发现错误...
  • 34. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是: (2)AX=________。35.已知数据段中定义 DAT1 DB 12H,34H,56H,...
  • c#学习笔记.txt

    2008-12-15 14:01:21
    Sun就从来没有将它Java交给过ECMA,以至于正当Microsoft尽力在Visual J++基础上拓展Java功能,并使之与Windows操作系统紧密结合在一起时候,Sun公司对Microsoft提出了法律诉讼,控告Microsoft违反了许可证协议中...
  • 2.9.3 C++/CLI特有的功能——格式化输出 92 2.9.4 C++/CLI的键盘输入 94 2.9.5 使用safe_cast 95 2.9.6 C++/CLI枚举 96 2.10 小结 98 2.11 练习题 100 第3章 判断和循环 101 3.1 比较数据值 101 ...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    解决问题步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分) 【武汉交通科技...
  • 11.5.1 结构与类型定义(typedef)功能 446 11.5.2 使用typedef简化代码 447 11.6 设计程序 448 11.6.1 问题 448 11.6.2 分析 448 11.6.3 解决方案 448 11.7 小结 459 11.8 习题 459 第12章 处理文件 461 ...
  • 其中,<条件>是循环条件,即条件成立时,重复执行循环体语句序列> 选做内容(成绩评定范围扩大到:“优”和“良”) (1)增加运算:++ 和 --。 (2)增加类型:① 字符类型; ② 实数类型。 (3)扩充函数:① ...
  • 11.5.1 结构与类型定义(typedef)功能 446 11.5.2 使用typedef简化代码 447 11.6 设计程序 448 11.6.1 问题 448 11.6.2 分析 448 11.6.3 解决方案 448 11.7 小结 459 11.8 习题 459 第12章 处理文件 461 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    在使用mount这个指令时,至少要先知道下列三种信息:要加载对象文件系统类型、要加载对象设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别文件系统 ◆ Windows 95/98常用FAT 32文件系统:vfat ;...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

下列指令序列的功能是