汇编里算术右移SAR怎么移? 汇编语言算术右移和逻辑右移的区别

\u7b97\u672f\u53f3\u79fb\u6307\u4ee4:-128\u7528\u7b97\u672f\u53f3\u79fb\u6307\u4ee4SAR\u53f3\u79fb3\u4f4d\u540e\uff0c\u7ed3\u679c\u662f\u4ec0\u4e48\uff1f\u8981\u8be6\u89e3\uff01

\u53f3\u79fb\u4e00\u4f4d= -128/2 = -64
\u53f3\u79fb\u4e24\u4f4d= -128/4 = -32
\u53f3\u79fb\u4e09\u4f4d= -128/8 = -16

1.\u6c47\u7f16\u8bed\u8a00\u4e2d\u7684\u903b\u8f91\u53f3\u79fb(SHR)\u662f\u5c06\u5404\u4f4d\u4f9d\u6b21\u53f3\u79fb\u6307\u5b9a\u4f4d\u6570\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u88650,\u7b97\u672f\u53f3\u79fb(SAR)\u662f\u5c06\u5404\u4f4d\u4f9d\u6b21\u53f3\u79fb\u6307\u5b9a\u4f4d\u6570\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u7528\u539f\u7b26\u53f7\u4f4d\u8865\u9f50\u3002
2.\u9ad8\u7ea7\u8bed\u8a00\u53f3\u79fb\u8fd0\u7b97\u7b26\uff08>>\uff09\u662f\u5c06\u4e00\u4e2a\u6570\u7684\u4e8c\u8fdb\u4f4d\u5168\u90e8\u53f3\u79fb\u82e5\u5e72\u4f4d,\u4f4e\u4f4d\u79fb\u51fa\u90e8\u5206\u820d\u5f03\uff0c\u5de6\u88650\u3002
3.\u9ad8\u7ea7\u8bed\u8a00\u53f3\u79fb\u548c\u6c47\u7f16\u8bed\u8a00\u4e2d\u7684\u903b\u8f91\u53f3\u79fb\u529f\u80fd\u4e00\u6837\uff0c\u4f46\u4e0d\u540c\u4e8e\u7b97\u672f\u53f3\u79fb\u3002

sar是算术右移指令,sar al,1 将al中的8位二进制数右移一位,移位后,10010100变成11001010。

10010100B是带符号数,换算成是进制数是:-108,算术右移一位之后变成:11001010B,换算成是进制数是:-54,这不正是除以2的值吗?

  • 绠楁湳鍙崇Щ鎸囦护:-128鐢ㄧ畻鏈彸绉绘寚浠SAR鍙崇Щ3浣嶅悗,缁撴灉鏄粈涔?瑕佽瑙!
    绛旓細鍙崇Щ涓浣= -128/2 = -64 鍙崇Щ涓や綅= -128/4 = -32 鍙崇Щ涓変綅= -128/8 = -16
  • 姹囩紪璇█缂栫▼:缂栫▼搴忓皢AX涓暟鎹殑鏈楂樹綅淇濇寔涓嶅彉,鍏朵綑鍏ㄩ儴鍙崇Щ4浣...
    绛旓細杩欏彧闇瑕佺敤绠楁湳鍙崇Щ鎸囦护SAR灏辫浜嗐傜畻鏈彸绉绘寚浠ゆ墽琛屾椂锛屽氨鏄繚鎸佹渶楂樹綅锛堢鍙蜂綅锛変笉鍙橈紝鍏跺畠鍚勪綅鍙崇Щ銆傚彸绉绘椂锛岀┖浣嶄笉鏄洿鎺ヨˉ闆讹紝鑰屾槸鐢ㄦ渶楂樹綅锛堢鍙蜂綅锛夌殑鍊煎~鍏呫傚叿浣撴寚浠わ細MOV CL, 4 SAR AX, CL
  • 姹囩紪 璇█鐨勫嚑涓棶棰,姹傚ぇ绁炶В绛,鍏ㄥ湪鍥句腑
    绛旓細SHR鏄昏緫鍙崇Щ鎸囦护锛SAR鏄绠楁湳鍙崇Щ鎸囦护銆係HR鍙崇Щ鐨勬椂鍊欙紝瀹冪殑鏈楂樹綅鐢0濉ˉ锛屾渶浣庝綅绉诲叆CF銆傝孲AR鍙崇Щ鐨勬椂鍊欙紝鏈楂樹綅涓嶅彉锛屾渶浣庝綅绉诲叆CF銆侫L鍜孋L鍒嗗埆鏄疉X鍜孋X鐨勯珮鍏綅銆俁OL鏄惊鐜乏绉绘寚浠わ紝瀹冪Щ鍑虹殑浣嶇Щ鍏F锛屽苟涓斿~琛ョ┖鍑虹殑浣嶃係BB鏃㈡槸浼犺涓殑甯﹁繘浣嶅噺娉曟寚浠わ紝SBB AX,BX鐨勬墽琛岀粨鏋滄槸锛2060...
  • (DX)=0B9H,(CL)=3,(CF)=1,鎵ц鎿嶄綔SARDX,CL鍚,DX=?
    绛旓細杩樻槸鎴戞潵鍛婅瘔浣犲惂!绠楁湳鍙崇ЩSAR鎶婄洰鐨勬搷浣滄暟鐨勯珮浣嶅悜浣庝綅绉伙紝绌哄嚭鐨勯珮浣嶇敤鏈楂樹綅(绗﹀彿浣)濉ˉ銆係AR鎿嶄綔褰卞搷鏍囧織瀵勫瓨鍣ㄧ殑鐘舵佷綅CF,SF,ZF,PF銆傛寚浠ゆ墽琛屾椂锛屼笉鍙楀綋鍓岰F鍊煎奖鍝嶏紝鎸囦护鎵ц鍚庡奖鍝岰F鐨勫笺傝繃绋嬪垎瑙o細SARDX,1;DX=0000000001011100(05CH)CF=1SARDX,1;DX=0000000000101110(02EH)CF=0SARDX,1...
  • SHR閫昏緫鍙崇Щ
    绛旓細鍗06H銆傞櫎浜哠HR锛岀Щ浣嶆寚浠ゅ鏃忚繕鍖呮嫭澶氫釜鍙樼锛屽閫昏緫宸︾Щ锛圫HL锛夈佺畻鏈乏绉伙紙SAL锛夈绠楁湳鍙崇Щ锛SAR锛夈佸惊鐜乏绉伙紙ROL锛夈佸惊鐜彸绉伙紙ROR锛夈佸甫杩涗綅寰幆宸︾Щ锛圧CL锛夊拰甯﹁繘浣嶅惊鐜彸绉伙紙RCR锛夈傛澶栵紝杩樻湁閽堝鍙岀簿搴︽暟鎹殑宸︾Щ锛圫HLD锛夊拰鍙崇Щ锛圫HRD锛夋寚浠わ紝瀹冧滑鍦ㄥ鐞嗛珮绮惧害鏁板兼椂灏や负鏈夌敤銆
  • 娣卞叆鐞嗚В璁$畻鏈虹郴缁(鍗佸叚):绠楁湳鍜岄昏緫鎿嶄綔
    绛旓細浣滀负浜屽厓鎿嶄綔锛岃繖浜涙寚浠ゅC璇█涓殑璧嬪煎姞娉曪紙x += y锛夛紝瀹冧滑娑夊強涓や釜鎿嶄綔鏁帮紝涓涓綔涓烘簮锛屼竴涓綔涓虹洰鐨勩3. SAL銆丼HL銆SAR銆丼HR 绉讳綅鎿嶄綔鏄姹囩紪涓鐨勯噸瑕佺幆鑺傦紝SAL鍜孲HL杩涜宸︾Щ锛孲AR鎵ц绠楁湳鍙崇Щ锛岃孲HR鍒欐槸閫昏緫鍙崇Щ锛屽畠浠牴鎹Щ浣嶉噺鏀瑰彉鏁版嵁鐨勪綅妯″紡锛岀洰鐨勫湴鍙互鏄瘎瀛樺櫒鎴栧唴瀛樹綅缃傛瘡涓寚浠ら兘鏈...
  • 绠楁湳宸︾Щ鍜鍙崇Щ銆侀昏緫宸︾Щ鍜屽彸绉昏繖浜涙寚浠ょ殑鑻辨枃鍏ㄧО鏄?
    绛旓細SHL锛堢畻鏁板乏绉伙級锛歴hift logical left SHR锛绠楁暟鍙崇Щ锛夛細shift logical right SAL锛堥昏緫宸︾Щ锛夛細shift arithmetic left SAR锛堥昏緫鍙崇Щ锛夛細shift arithmetic right ROL锛堝惊鐜乏绉伙級锛歳otate left ROR锛堝惊鐜彸绉伙級锛歳otate right RCL锛堝甫杩涗綅鐨勫惊鐜乏绉伙級锛歳otate left through carry RCR锛堝甫杩涗綅鐨勫惊鐜彸...
  • 绠楁暟鍙崇Щ鐨勬蹇
    绛旓細濡:133/8=16浣5 MOV AL,10000101B MOV CL,03H SHR AL,CL AL=10H=16 绠楁湳鍙崇Щ鏈楂樹綅(鍗崇鍙蜂綅)淇濇寔涓嶅彉,鑰屼笉鏄ˉ0鏈浣庝綅杩涘叆CF.鐩稿綋浜庢瘡绉讳竴浣嶉櫎2,涓鑸浜庢湁绗﹀彿鏁颁娇鐢 -128/8 MOV AL,10000000B MOV CL,03H SAR AL,CL AL=0F0H=-16 1100涓000011000姝f暟,閫昏緫鍙崇Щ 绠楁湳鍙崇Щ鏄竴鏍...
  • 姹囩紪璇█鐨勯棶棰,姹傚姪 MOV AX,8080H SAR AX,1 MOV CL,4 SHR AL,CL 鏈 ...
    绛旓細鍏堢敤浜岃繘鍒惰〃绀轰竴涓嬶紝缁撴灉鍦ㄨ浆鎹㈡垚16杩涘埗 MOV AX,8080H AX=1000 0000 1000 0000 b 浜岃繘鍒 SAR AX,1 AX绠楁湳鍙崇Щ锛屽緱鍒 AX=0100 0000 0100 0000b锛孉L=0100 0000b (鍚8浣)MOV CL,4 CL=4,鏄悗闈竴涓寚浠ょ殑绉讳綅鏁 SHR AL,CL 瀵笰L鍙崇ЩCL(=4)浣嶏紝寰楀埌 AL=0000 0100b锛屽氨...
  • 鐢佃矾鏉夸笣鍗SAR0,SAR1,SAR2鏄粈涔堟剰鎬?
    绛旓細姹囩紪璇彞锛歋ARL %eax 鑰屾垜浠父瑙佺殑鐢ㄥ埌SARL鐨勫舰寮忥紝涓鑸槸SARL k, D锛堣繖鏄疉TT Format锛孖ntel Format鍙嶈繃鏉ュ啓锛夛紝鍗冲皢D绠楁湳鍙崇Щk浣嶃傝В閲婏細杩欑Unary Operation褰㈠紡鐨凷ARL锛屼及璁℃槸SARL $1, %eax鐨勭缉鍐欍
  • 扩展阅读:汇编语言sar运算规则 ... 汇编语言sar用法 ... 汇编sar 指令 ... 汇编中shr与sar的区别 ... 汇编怎么移位 ... 算术右移和逻辑左移 ... sar指令用法 ... 汇编ror指令 ... 汇编如何在屏幕上输出 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网