Re: [问卦] 资工系根本文组吧? x=x+1是三小?

楼主: style520 (再一次的门外汉,财团见)   2021-11-19 20:01:18
※ 引述《gtjs45 (光头爵士)》之铭言
: ※ 引述《mikemagic88》之铭言
: : 肥宅我看我朋友资工系的
: : 写那什么鬼算式
: : x = x + 1
: : 到底是三小?
: : 我看资工系根本就文组吧
: : 连国中数学都出问题
: : 有没有八卦?
: 小弟文组,但是上过一些巨匠电脑课程
: 应该可以简单回答你
: 用最长见的c来解释吧
: 你在x=x+1前,一定要先宣告x
: 所以大概会长这样:
: —————————
: int x=0;
: x=x+1;
: —————————
: 接着compiler 会帮你转换成assembly
: 大概像这样:
: —————————
: SUB %SP,$4,%SP
: MOV $0,-4(%BP)
: ADD -4(%BP),$1,%0
: MOV %0,-4(%BP)
: —————————
: C语言会用一个stack来暂存变量,
: 你可以看到%SP跟%BP
: 就是分别指向stack 的top跟base的pointer,指标下移一个位置(-4)储存变量(a),接
: 著对变量-4(%BP)加1存到暂存位置(%0)最后再搬回去-4(%BP)
: 最后这些assembly 会按照指令集定义(例如mips)转换成0101的形式,再透过cpu里面的l
: ogic gate运算,完成你的加法
高阶文组:
int x=0
x=x+1
组合文组:
addi $sp, $sp, -4
lw $a0, 0($sp)
and $a0, $a0, 0
addi $a0, $a0, 1
sw $a0, 0($sp)
addi $sp, $sp, 4
机器文组:
0x23BDFFFC
0x8FA40000
0x00802024
0x20840001
0xAFA40000
0x23BD0004
文组:
0010 0011 1011 1101 1111 1111 1111 1100
1000 1111 1010 0100 0000 0000 0000 0000
0000 0000 1000 0000 0010 0000 0010 0100
0010 0000 1000 0100 0000 0000 0000 0001
1010 1111 1010 0100 0000 0000 0000 0000
0010 0011 1011 1101 0000 0000 0000 0100
我物理的最近正在学文组的东西
最近有个疑惑……
文组是不是到最后都要多人混战啊?
一堆1一堆0的

Links booklink

Contact Us: admin [ a t ] ucptt.com