mit6.824 lab4_mit6.830

mit6.824 lab4_mit6.830一、 BETAISAA:0、1、2、3、0xcB:0x2000、0xEDEDEDED、0xFEDEDEDE、0x2004、11000000000111110010000000000000(0xc01f2000)C:0x87654321、1、0x87654320、0x14、01110111111000010000000000000010(0x77e10002)D:17、0、32、noinstructionsneedtobechangedE:4、110000000

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、 BETA ISA

A:0、1、2、3、0xc
B:0x2000、0xEDEDEDED、0xFEDEDEDE、0x2004、110000 00000 11111 0010 0000 0000 0000(0xc01f2000)
C:0x87654321、1、0x87654320、0x14、011101 11111 00001 0000 0000 0000 0010(0x77e10002)
D:17、0、32、no instructions need to be changed
E:4、110000 00000 00000 0000 0000 0000 0000(0xC0000000)

二、 快速排序

实现代码

	p_array=R2          // base address of array (arg 0)
    p_left=R3
    p_right=R4
    p_pivotIndex=R5     // Corresponds to PivotIndex in C program
    p_pivotValue=R6
    p_storeIndex=R7
partition:		
        PUSH(LP)
        PUSH(BP)
        MOVE(SP, BP)
		PUSH(R1)
		PUSH(R2)
		PUSH(R3)
		PUSH(R4)
		PUSH(R5)
		PUSH(R6)
		PUSH(R7)
		PUSH(R8)
		PUSH(R9)
		
		LD(BP, -12, p_array)
		LD(BP, -16, p_left)
		LD(BP, -20, p_right)
		ADD(p_left, p_right, p_pivotIndex)
		SHRC(p_pivotIndex, 1, p_pivotIndex)
		MULC(p_pivotIndex, 4, R9)
		ADD(p_array, R9, R9)		
		LD(R9, 0, p_pivotValue)
		MULC(p_right, 4, R9)
		ADD(p_array, R9, R9)
		LD(R9, 0, R7)
		MULC(p_pivotIndex, 4, R9)
		ADD(p_array, R9, R9)
		ST(R7, 0, R9)
		MOVE(p_left, p_storeIndex)
START:	ADDC(p_left, 1, p_left)
		CMPLE(p_left, p_right, R8)
		BF(R8, AFTER)
		MULC(p_left, 4, R9)
		ADDC(R9, -4, R9)
		ADD(p_array, R9, R9)
		LD(R9, 0, R8)		
		CMPLE(R8, p_pivotValue, R1)
		BF(R1, START)
		MULC(p_storeIndex, 4, R9)
		ADD(p_array, R9, R9)
		LD(R9, 0, R1)
		MULC(p_left, 4, R9)
		ADDC(R9, -4, R9)
		ADD(p_array, R9, R9)
		ST(R1, 0, R9)
		MULC(p_storeIndex, 4, R9)
		ADD(p_array, R9, R9)
		ST(R8, 0, R9)		
		ADDC(p_storeIndex, 1, p_storeIndex)
		BR(START)
AFTER:  MULC(p_storeIndex, 4, R9)
		ADD(p_array, R9, R9)
		LD(R9, 0, R8)
		MULC(p_right, 4, R9)
		ADD(p_array, R9, R9)
		ST(R8, 0, R9)
		MULC(p_storeIndex, 4, R9)
		ADD(p_array, R9, R9)
		ST(p_pivotValue, 0, R9)
		MOVE(p_storeIndex, R0)
        POP(R9)
		POP(R8)
		POP(R7)
		POP(R6)
		POP(R5)
		POP(R4)
		POP(R3)
		POP(R2)
		POP(R1)
		
		MOVE(BP, SP)
        POP(BP)
        POP(LP)
        JMP(LP)
quicksort:
        PUSH(LP)
        PUSH(BP)
        MOVE(SP, BP)
		PUSH(R1)
		PUSH(R2)
		PUSH(R3)
		PUSH(R4)
		
		LD(BP, -12, R1)
		LD(BP, -16, R2)
		LD(BP, -20, R3)
		.breakpoint
		CMPLT(R2, R3, R4)
		BF(R4, END)
		PUSH(R3)
		PUSH(R2)
		PUSH(R1)
		BR(partition, LP)
		DEALLOCATE(3)
		.breakpoint
		ADDC(R0, -1, R4)
		PUSH(R4)
		PUSH(R2)
		PUSH(R1)
		BR(quicksort, LP)
		DEALLOCATE(3)
		
		PUSH(R3)
		ADDC(R0, 1, R4)
		PUSH(R4)
		PUSH(R1)
		BR(quicksort, LP)
		DEALLOCATE(3)
		
END:	POP(R4)
		POP(R3)
		POP(R2)
		POP(R1)
        MOVE(BP, SP)
        POP(BP)
        POP(LP)
        JMP(LP)

A:0x14
B:0、-1
C:0xa
D:first (smaller elements)
E:0、4
F:5

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187553.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sesvc.exe_alg是什么进程

    sesvc.exe_alg是什么进程今天公司的一台电脑一点右键就没有反应,通过任务管理发现每次启动都会有一个“Excel”进程,第一感觉就是中毒了,在网上找到了无暇解决方案杀毒方法:(切记:在操作过程中使用“右键->打开”,不可双击。)1.结束注册表中的fun.xls.exe的进程(建议选中fun.xls.exe->右键->转到进程,查找到“algsrvs.exe”单击它,再选择“…

    2022年10月3日
  • java的System.getProperty()方法能够获取的值

    java的System.getProperty()方法能够获取的值

    2021年12月2日
  • dpkg命令

    dpkg命令dpkg命令如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。dpkg命令常用格式如下:sudodpkg-Iiptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于–info)sudodpkg-ciptux.deb#查看iptux.

    2022年5月22日
  • 刘强东有多少人口_是谁在针对刘强东

    刘强东有多少人口_是谁在针对刘强东     刘强东的事情,我的文章已经说过,没啥好说的了,和我想的结果差不多。男人都没经得住美女的诱惑。关于刘强东的人品,没啥好评论的。离婚??小三??相爱了不能在一起??生活常常有。80后忙着离婚,90后忙着买房子,00后忙着谈恋爱。感慨一下就好了。      中国人口出生率断崖式跳水。2017年我国出生人口是1723万人,比2016年下降63万人。其中一孩只有724万,二…

    2022年9月5日
  • js数组排序的几种方法

    js数组排序的几种方法1、冒泡排序以从小到大排序为例,冒泡排序的原理就是通过两层循环把数组中两两相邻的元素进行比较,是的大的元素放到后边,元素交换位置,从而一步步的交换元素的位置,使得最大的元素放到数组的末尾,这样内部的循环就进行了一轮,再根据外部的循环依次再把次大一点的元素放到数组的末尾,从而实现数组的逐步排序。代码如下://冒泡排序vararr=[52,3,8,57,75,2,1];for(…

    2022年4月29日
  • 开机弹出sysloader.exe应用程序错误

    开机弹出sysloader.exe应用程序错误
    反间谍专家查杀硬盘
    黄山ie修复专家修复ie
    搜索电脑上sysloader的文件,找到后删除
    就ok

    2022年10月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号