Dead fish

><x> (Pronounced "Dead fish") is a 2D esolang created by User:None1, it is a cross between Deadfish and ><>, but the i command in ><> is l in ><x>.
==Commands==
 Commands in ><x>
Command	Meaning 	Derives from
i 	Increments the accumulator 	Deadfish
d 	Decrements the accumulator 	Deadfish
s 	Squares the accumulator 	Deadfish
o 	Outputs the accumulator as ASCII 	><>
n 	Outputs the accmulator as decimal 	><>
l 	Input a character and store its ASCII code in accumulator	><>
^ 	IP direction up 	><>
v 	IP direction down 	><>
< 	IP direction left 	><>
> 	IP direction right 	><>
? 	If accumulator is zero, skip next instruction 	><>
; 	Halts the program 	><>
space 	NOP 	><>
A ><x> program terminates if and only if:
# The IP is out of bound.
# The IP hits ;.
# The IP hits an invalid character, in this case, the program prints Nope. before terminating.
It uses only one wrapping accumulator that contains numbers from 0 to 255, and the IP is at the top left and its direction is initially right.
==Examples==
===Hello World===
iiisdsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiooiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddodddddddddddddddddddddsddoddddddddoiiioddddddoddddddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
===Cat Program (never terminates)===
>lov
^ <
===Truth Machine===
lddddddddddddddddddddddddddddddddddddddddddddddddn?v
 >n<
A smaller version that takes advantage of the accumulator being bound to the range [0, 255]
ls?vn;
 >sss>n<
An even smaller version in Codegolf Stack Exchange
 lssss>n?<
===Quine===
 Nope.
===Nope. interpreter===
 Nope.
or simply
 a
===Count backwards from 100 to 1===
iiiiiiiiiis>nd?v
 ^ <
===Count forwards from 1 to 100===
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd>iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiindddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd?v
 ^ <
==Interpreter==
===C++===
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<fstream>
std::vector<std::string> code;
int w,h,ipx,ipy,ipdx,ipdy=1;
unsigned char x;
signed main(int argc,char* argv[]){
	if(argc==1) return std::cout<<"Needs an input file",0;
	std::string s;
	std::fstream f(argv[1],std::ios::in);
	while(std::getline(f,s)){
		h++;
		w=std::max(w,(int)s.size());
		code.push_back(s);
	}
	f.close();
	for(auto i:code){
		while(i.size()<w) i+=" ";
	}
	while(ipx>=0&&ipx<h&&ipy>=0&&ipy<w){
		switch(code[ipx][ipy]){
			case 'i':{
				x++;
				break;
			}
			case 'd':{
				x--;
				break;
			}
			case 's':{
				x*=x;
				break;
			}
			case 'n':{
				std::cout<<int(x)<<std::endl;
				break;
			}
			case 'o':{
				std::cout<<char(x&255);
				break;
			}
			case 'l':{
				x=std::cin.get();
				break;
			}
			case '^':{
				ipdx=-1;
				ipdy=0;
				break;
			}
			case 'v':{
				ipdx=1;
				ipdy=0;
				break;
			}
			case '<':{
				ipdx=0;
				ipdy=-1;
				break;
			}
			case '>':{
				ipdx=0;
				ipdy=1;
				break;
			}
			case '?':{
				if(x) break;
				ipx+=ipdx;
				ipy+=ipdy;
				break;
			}
			case ';':{
				return 0;
			}
			case ' ':{
				break;
			}
			default:{
				std::cout<<"Nope.";
				return 0;
			}
		}
		ipx+=ipdx;
		ipy+=ipdy;
	}
	return 0;
}
==External Resources==
* Online interpreter based on this JavaScript interpreter.
Category:Languages
Category:Two-dimensional languages
Category:Finite state automata
Category:2023
Category:Implemented
Category:Deadfish derivatives